[Save All] Back explicit object manager map

Use a map of id to component to track modified
objects in the explicit object manager. This
means that if multiple versions of the same
component are explicitly added as modified
objects, only the latest is actually returned
in a subsequent getModifiedObjects. This
avoids Save All ambiguities in cases where
multiple versions of the same object are
returned in getModifiedObjects.