Sets the origin information in prism values being merged.
 In order to track the origin of individual prism item values in the merged object, the mergers are obliged to fill-in
 this information on any values being processed. Specifically, when a prism value `V` is inherited from the source
 (super-)object `S`, this fact is recorded in the 
ValueMetadataType of `V` by setting `provenance/acquisition/originRef`
 to the reference to `S`.
 Notes:
 . When a composite value (
PrismContainerValue) is inherited, only the root value gets the metadata. It's not necessary
 (and therefore it's avoided) to set the metadata on each of the contained ("inner") values.
 . When a value is passed through multiple layers of inheritance (e.g. inherited from `O1` to `O2` and finally to `O3`),
 only the "real" origin (i.e. `O1`) is recorded.
 . Origin for values not passing through the inheritance relation (i.e. values at the bottom of the inheritance hierarchy)
 are not marked - not even if the containing resource has an OID.
 For some examples please see `TestResourceTemplateMerge`.
 Important assumption:
 - The current implementation assumes that there is no value metadata stored in the (original) objects being merged; i.e.
 that all metadata come from this 
OriginMarker.