Removed parallel arrays from ImageMetadata

Parallel arrays are cumbersome to maintain, and in many cases parts of
the ArrayList implementation were being repeated to facilitate
re-ordering of the axis type and length arrays.

Instead, these values are now maintained in a List of AxisTypes, and a
map of AxisTypes to lengths.

This allows the AxisTypes to be dynamically rearranged without requiring
two arrays to be reorganized.
Updated SCIFIOMetadataTools

Removed varags params, added better javadoc, and reduced code repetition
by delegating to a pre-existing FormatTools method.
Removed unnecessary method from FormatTools

Removed a setDimensionOrder method from FormatTools. It is not necessary
now that ImageMetadata decoupled its axis type and length arrays.
Added Dicom support to SCIFIO

Converted the loci.formats DicomReader to SCIFIO components. See
ome.scifio.formats.DicomFormat. The loci.formats DicomReader has been
converted to a delegator and marked deprecated.

Necessary supporting classes were also migrated:
JPEG2000Codec
PackBitsCodec
JAIIIOService + Impl

These classes will not be converted to delegators until all SCIFIO
formats are converted (at which time they will move to loci-legacy).

As the JAIIIOService classes were moved to SCIFIO, the
MissingJAIIIOService test was also moved to SCIFIO, as the dependency of
scifio on scifio-devel would cause this test to always fail if it
remained.
Added setAxes method to ImageMetadata

Added a convenience method to ImageMetadata that sets both the axis
types and axis lengths in a single signature.

Motivated by the restructuring of axis types and axis lengths, as the
lengths can no longer be set independently of the types.
Refactored ICSFormat axis population

Instead of building arrays to populate the axes, they are now added
incrementally to make the logic clearer.
Updated scijava-common to 1.0.0 release

Depending on SNAPSHOT jars produces non-reproducible builds. All
projects should now use the most recent release of scijava-common:
1.0.0.

Updated the pom-scijava version to facilitate moving to the field
and groupId variables for scijava-common, instead of hard-coding them.
Updated sezpoz to use pom variable

The sezpoz dependency in scifio-devel now uses the sezpoz.version
declared in pom-scijava, to keep jar versions consistent.
Added SCIFIOApp

Added a scijava-common App implementation for SCIFIO. This plugin is
discovered by the AppService and provides version information, allowing
the scijava-common context to query and report the discovered SCIFIO
version.
Added domain specification to APNGFormat

The Reader in APNGFormat now defines the domain APNG images are commonly
associated with.
Added EPS Format

Converted the loci.formats EPSReader and Writer to SCIFIO components
within ome.scifio.formats.EPSFormat.

As the EPSFormat can involve tiff IFDs, many supporting classes were
also migrated from loci.formats to ome.scifio packages. These classes
have not been marked deprecated yet.

Part of this migration involved moving the LuraWave classes to SCIFIO.
Refactored DefaultComponents

Added a new DefaultComponent marker interface. All DefaultComponents now
have a Format field - "format" - and override the getFormat() method
from the HasFormat interface to return this private field.

AbstractFormat, when creating components, now checks to see if they are
DefaultComponents, and sets their format field if appropriate.

This is necessary because Default components have a 1:many relationship
with Format implementations, and thus relying on a component:format
mapping to retrieve the current format is not applicable.

Ideally this logic will be factored out to a single abstract class, but
that is a more challenging task because of the limitation of multiple
inheritance (each Default component is already inheriting from its
corresponding abstract class, which uses a mapping-based getFormat
implementation).