Refactored static-context to be Legacy only

The single, static context located in ome.scifio FormatTools was
removed. Context can be created as needed for SCIFIO code.

In the legacy layer, context creation is modeled after ImageReader - in
which a list of readers is parsed once and statically cached. Using this
philosophy, a LegacyContext class was added, with a get() method to get
the current context.

The LegacyContext context (SCIFIO object) is created once and statically
cached.
SCIFIO Formatting: removed unnecessary "this."

Removed superfluous "this." references from core SCIFIO classes, to
enhance readability of the code.
Converted FakeReader to a delegate

The loci.formats FakeReader has been marked deprecated and converted to
a delegate. It now passes all functionality through the ome.scifio
FakeFormat collection of components.
Improved Exception handling in ICS/APNGFormats

Updated the SCIFIO Formats that were imported from the legacy scifio
branch (APNG and ICS) with improved exception handling.

Both now properly use SLF4J logging in their exception handling.
Improved loci-legacy exception handling

Implemented better exception handling in loci-legacy component classes.
LegacyContext and AdapterHelper now use the SLF4J logger to print error
messages instead of just silently eating exceptions.
Moved ICS key, value parsing to Metadata class

Previously the ICS to OME-XML translator contained all the logic of
extracting information from the ICS key,value pairs - the
ICSFormat.Metadata class was simply a bag of these pairs.

However, there is nothing mandating that this logic be OME-XML specific.

This refactoring moves all the logic from the translator to
ICSFormat.Metadata via a series of getters. No values are actually
cached, but instead when a getter is invoked, the bag of key,value pairs
is interrogated as appropriate for the requested metadata value.

The ICS:OME-XML translator and ICS:CoreMetadata translator have been
appropriately updated to call these getters.
Added basic CoreMetadata modern->legacy support

The CoreMetadataAdapter originally did not support Modern->Legacy
conversion because of the legacy use of an array ( [] ) of CoreMetadata
objects. Without accessor methods to override there is no way to
dynamically generate information, and the only way to convert Modern
data to Legacy is pure conversion. Thus, if after conversion the Modern
CoreMetadata object is changed, the Legacy version will not reflect
those changes.

We have relaxed our assumptions to assume if a CoreMetadata object is
modified, it should be considered corrupt. Thus there is no concern in
maintaining synchronicity between the layers. As such, a modern->legacy
implementation is provided.

Note that this is a complete overhaul of the CoreMetadata adapters.
There is now:
a loci.formats.CoreMetadata[] to ome.scifio.CoreMetadata adapter
a loci.formats.CoreMetadata to ome.scifio.CoreImageMetadata adapter

and appropriate wrappers for each (the only explicit wrapper not needed
is one that isa CoreMetadata[] since it can not be extended)
Updated SCIFIOFormatReader to use new adapters

The SCIFIOFormatReader now uses the full CoreMetadata suite of adapters.
Updated SCIFIOReaderWrapper to use new adapters

The SCIFIOReaderWrapper now properly uses the full suite of CoreMetadata
adapters.
Added MetadataStore support to SCIFIOFormatReaders

Formats converted to SCIFIO delegators were neglecting to populate their
MetadataStores, which are still necessary for backwards compatibility
with unconverted classes.

All extensions of SCIFIOFormatReader must therefore preserve the
MetadataStore state contract established by their predecessors.

Updated current converted readers to do so.
Committing factorypath settings

These .factorypaths are used by Eclipse for sezpoz annotation
processing.
Renamed scifio Core Metadata classes

ome.scifio.CoreMetadata is now ome.scifio.DatasetMetadata
ome.scifio.CoreImageMetadata is now simply ome.scifio.ImageMetadata

This renaming was done to explicitly match the OME model of datasets as
collections of images.

All references were updated
Removed Translator from Writer#setMetadata

The setMetadata methods were requiring a Translator parameter to
generate CoreMetadata.

This is now handled in the AbstractWriter layer via automatic detection
through the Format.
SCIFIO package documentation

Added package-level documentation, via package-info.java classes, to the
scifio-devel component.

The goal of this documentation is to concisely convey:
* current functionality of the SCIFIO classes
* rationale for significant changes from Bio-Formats
* intended future changes
Removed redundant package.html

The ome.scifio.common and ome.xml.meta package.html files were not
necessary, as there is now a package-info.java for describing these
packages.
Updated Javadoc components

Added the scifio-devel and loci-legacy projects to the list of javadoc
sources.

Also added the imglib2 and sezpoz jars to the javadoc classpath.

Removed loci-common project from the javadoc source list, as it is
a sourceless pom project.
Removed compile warnings from AxisGuesser

Fixed package import and generic use to remove compiler warnings from
Axisguesser.
Fixed compiler warnings in FilePattern

Removed unused import in FilePattern.java to fix compiler warnings.
Removed LUT from Dataset/ImageMetadata

SCIFIO I/O is being converted to use a plane implementation, which
will manage lookup tables with improved accessors.

As planes will manage LUTs, and Readers create planes, the LUT API is
being removed from Metadata.
Extracted Dataset/Image metadata interfaces

Converted Dataset/ImageMetadata classes to an interface/default
implementation paradigm.

This will allow for enhanced flexibility.