Refactor and link modulo annotation creation

This is largely a cleanup of the three copies
of modulo creation for Z, T, and C. Notable is
the call to Image.linkAnnotation which was not
previously being called. Without this, OMERO is
not aware of the annotation.
Fill OME model objects

This is a suboptimal solution since it will require
other interface implementors to also implement the
new methods, but this was the simplest way to provide
the necessary XML parsing for individual elements.
Refactor methods into XMLTools and remove API changes
Disable OMERO Ann to test removal of NS

setValue() on the Modulo object was causing bfconvert
to fail due to XML parsing. This has now been disabled.
At the same time the NS elements from asXMLElement()
have been removed creating the desired block of XML:

```
    <XMLAnnotation ID="Annotation:90" Namespace="openmicroscopy.org/omero/dimension/modulo">
      <Value>
        <ModuloAlongT End="12304.687643793777" Start="0.0" Step="195.3125022824409" Type="lifetime" TypeDescription="TCSPC" Unit="ps"/>
      </Value>
    </XMLAnnotation>
```
Re-activate setValue but omit XML declration

XMLTools now permits disabling the `<? xml` block on
writeXML and dumpXML which allows us to move a step
further, though bfconvert is still failing with:

```
Exception in thread "main" java.lang.RuntimeException:
loci.common.services.ServiceException: java.lang.RuntimeException: Value node list size 2 != 1
```
Remove asXMLElement to prevent dupe Values
Wrap ModuloAlong element with Modulo
Also fix OriginalMetadata annotations in the same way

Note: the private 'value' field hides the proper xmlannotation
'value' field which is a bit confusing.
Fix unit test by clarifying getValue v. getValueForKey
Fix unused imports
Handle missing images

For /ome/data_repo/test_images_good/metamorph/jae/RGB_s34.tif
`getImage(imageIdx)` throws an IndexOutOfBounds exception since
there are no images detected. In this case, modulo handling is
exiting prematurely since there's no image to link to.
Add pluginRepository entries so that cppwrap can be used
Make OM and M Annotation classes public

In order to be properly tested, these classes need
to be made public. This is also the beginning of the
definition of their public API which will also be
further defined via ticket 4536
merge develop -D org -I include -E exclude: PR 528 (Tile performance improvements for VMS and NDPI)
merge develop -D org -I include -E exclude: PR 796 (Zip: improve reader and handle performance)
merge develop -D org -I include -E exclude: PR 804 (Leica LIF: 'C' goes before other dimensions if SizeC and SizeT > 1)
merge develop -D org -I include -E exclude: PR 807 (CellWorx: ignore thumbnails and missing channel names (rebased onto develop))
merge develop -D org -I include -E exclude: PR 810 (Preserve lookup tables when exporting from ImageJ)
merge develop -D org -I include -E exclude: PR 818 (Last round of fixes for Maven build system)
merge develop -D org -I include -E exclude: PR 819 (Flex: map server-mapped files to the same directory as metadata files)