scifio: Add BaseMetadata

BaseMetadata is a base interface for MetadataStore and
MetadataRetrieve, giving the following hierarchy:

        BaseMetadata
           /    \
MetadataStore  MetadataRetrieve
           \    /
         IMetadata

The intention here is to have base type which can be used to
specialise containers for that type, which can contain instances
of both MetadataStore and MetadataRetrieve, principally
AggregateMeta.
Remove 2003fc and related classes

loci-plugins:
· libraries.txt: Update to use OMEModelObject in place of OMEXMLNode
· LibraryChecker: Update to use OMEModelObject in place of OMEXMLNode

ome-xml: Remove the following:
· CustomNode.java
· DOMUtil.java
· OMEXMLFactory.java
· OMEXMLNode.java
· r2003fc/*

scifio:
· OMEXMLReader: Remove OMEXMLNode check
· AbstractOMEXMLMetadata: Remove 2003fc dependencies
· Remove OmeisException
· Remove OmeisImporter
· OMEXMLService: createOMEXMLRoot returns OME rather than Object
· OMEXMLServiceImpl: Add LATEST_VERSION from OMEXMLFactory
· MetadataTools: createOMEXMLRoot returns OME rather than Object

xsd-fu:
· Remove Class.template
· Remove SPW.template
AbstractOMEXMLMetadata: Remove writeXML
Merge pull request #468 from rleigh-dundee/ibasemetadata

scifio: Add BaseMetadata
Fix various writer bugs exposed by using 'changeOutputFile'
Exporter plugin: fix writing to multiple files

Fixes #10635.
FormatWriter: close the output file before reinitializing
ZeissZVIReader: Fix detection of label string offset

There may be a 2 byte pad between the end of the ShapeAttrs
block and the start of the Label string.  And the string
may or may not be null, making it difficult to detect
reliably.  We allow for a fuzzy match at 0 or 2 bytes after
the end of the ShapeAttrs.  This padding is typically
only found in the initial Shape, and missing in subsequent
shapes.
Add fix for generating metadata support with auto-generated OME-XML
Regenerate metadata pages
Merge pull request #474 from sbesson/rebased/develop/schema_anchors

Fix broken anchors in Sphinx metadata pages (rebased onto develop)
ZeissZVIReader: Debug logging strings use {} to avoid StringBuilder overhead
merge develop -D org -I include -E exclude: PR 433 (More .nd2 fixes (rebased onto develop))
merge develop -D org -I include -E exclude: PR 465 (Kryo memoizer)
merge develop -D org -I include -E exclude: PR 467 (Revert "Adding Transform to Image, see #3742")
merge develop -D org -I include -E exclude: PR 476 (ZVI ROI fixes (develop))
merge develop -D org -I include -E exclude: PR 480 (Added eclipse support for maven-exec:exec plugin)
merge develop -D org -I include -E exclude: PR 482 (Remove 2003fc and related classes)
merge develop -D org -I include -E exclude: PR 485 (Fix export of multiple files (rebased onto develop))