xsd-fu: Tighten const correctness in model and store getters
xsd-fu: Store setters for MapPairs must be const references
xsd-fu: MetadataRetrieve getUUID is const correct
formats-api: Add missing GenericExcitationSourceAnnotationRef in MetadataConverter
cpp: ome-xml: Add MetadataConverter
cpp: ome-xml: Generalise MetadataConverter

Use a templated transform function to convert between the retrieve
and store objects using method pointers and indexes.
cpp: ome-xml: Simplify MetadataConverter

Move all functions into a MetadataConverter class.  src and dest
are now class members, so don't require passing around, including
to the transform methods.
cpp: ome-xml: Further simplification and reformatting of MetadataConverter
cpp: ome-xml: Align MetadataConvert conditionals with the java equivalent
cpp: ome-xml: Document MetadataConverter
cpp: ome-xml: Add coverage test for MetadataConverter
ome-xml: Add missing LightPathAnnotationRef to MetadataConverter
ome-xml: Add missing InstrumentAnnotationRef to MetadataConverter
Merge remote-tracking branch 'origin/develop' into cpp-metadata3
cpp: ome-xml: Drop unimplemented setMaskBinData from MetadataStore

This was stubbed out, but it's not possible to implement due to
the needed methods and implementation being unavailable in the
BinData model object.

It's not possible to remove from the Java templates due to it
being used in the OMEROMetdataStoreClient implementation,
despite it being broken in bioformats.
cpp: test: Non-GNU-sed portability fixes for newline substitution
Merge pull request #1460 from rleigh-dundee/cpp-metadata3

C++: Implement MetadataConverter