The goal of the AbstractHierarchyIterator class (and supporting classes) was to use it in different exporters. It shouldn't be part of the USD module + namespace any more.
The source files are moved into io/common, which is compiled & linked into a new library bf_io_common. The unittests are still inside the tests/gtests/usd directory. They should be moved to a separate test module too, but that will be delayed until after T73268 has been resolved.
This commit and the others in this topic offered for review are available in the temp-io-alembic-changes-up-to-D7672 branch.