Add MetadataRoot to MetadataStore getRoot/setRoot interfaces

Note: This includes the commits from #482

getRoot and setRoot both return Object.  These commits change:
· MetadataRoot interface added
· getRoot to return MetadataRoot
· setRoot to require MetadataRoot (Object variant is retained but deprecated for compatibility)
· All code switched to use OMEXMLService rather than the deprecated MetadataStore wrappers
· Deprecated MetadataStore methods have been deleted [this can be easily reverted]
· To maintain compatibility for existing users, users of the OMEXMLMetadata store which were previously getting and setting OME objects now use OMEXMLMetadataRoot; this is an OME object which also provides the MetadataRoot interface.  It is still possible to use setRoot with OME objects.
· All in-tree users of the getRoot/setRoot interfaces use MetadataRoot/OMEXMLMetadataRoot as appropriate.