The old Alembic exporter always exported a mesh object to {object.name}/{object.name}Shape. With this patch it exports to {object.name}/{mesh.name} instead. The same change also applies to other object data types. This is a preparation to make the Alembic exporter compatible with the upcoming changes (D7664).
Note that the code now is a bit hackish, as m_name is set even in cases where it isn't used. This hackishness was already there, though, but it's now just more visible. This will all be cleaned up when the Alembic exporter is ported to use the AbstractHierarchyImporter structure of USD.
This commit and the others in this topic offered for review are available in the temp-io-alembic-changes-up-to-D7672 branch.