Added getters for CoreMetadata axes types/lengths

Added methods to allow interrogation of CoreMetadata axis types and
lengths.
Added FormatTools#findDimensionOrder(AxisType[])

Added a lower-level findDimensionOrder method that operates directly on
an AxisType array. The CoreMetadata version delegates to the new
signature.
Added String to AxisType[] FormatTools method

Added a findDimensionList method for converting from Strings to
AxisType arrays. Only the classic Bio-Formats dimensions are currently
supported.
Implemented SCIFIO FileStitcher

Second stage of translating FileStitcher: implemented the ome.scifio
version in terms of SCIFIO components.
Added isFormat(String) to SCIFIO Checker

No reason to force a String, boolean signature. The String-only version
defaults false.

Includes API specification + Abstract-level implementation.
Added getReader() method to SCIFIOReaderAdapter

Added an accessor for the underlying IFormatReader wrapped by
SCIFIOReaderAdapter.
SCIFIOReaderAdapter updates CoreMetadata source

When SCIFIOReaderAdapter updates its attached CoreMetadata object, it
also tries to set the source of that object.
Corrected SCIFIOReaderAdapter image/plane index

SCIFIOReaderAdapter should not return the correct image index and plane
index (in SCIFIO terminology)
Updated FormatTools#getZCTCoords

This method requires both an image and plane index in SCIFIO. This has
been corrected in FormatTools, and all existing invocations of this
method now correctly pass both indices.
Removed hard-coded imglib refs from scifio-devel

The scifio-devel pom was updated to remove the hard-coded references to
imglib version and group id.
Moved SCIFIOFormatWriter metadata instantiation

Instead of parsing new metadata when setting the metadata store,
SCIFIOFormatwriter creates new CoreMetadata during setId calls.
Added DiscoverableHandle annotation

All handles will be converted to SezPoz using the DiscoverableHandle
annotation.
Added IStreamAccess interface

This is an explicit interface for "stream"-based IRandomAccess
implementations, instead of relying purely on the Abstract-layer
StreamHandle.
Updated all StreamHandle classes for new usage

All StreamHandle classes now explicitly implement the IStreamInterface,
and legacy versions use the appropriate methods to determine if a handle
is capable of supporting a given id.

SCIFIO handles are now sezpoz discoverable, and Location uses the proper
SezPoz logic for finding annotated classes.
Updated TypeDetectionTest for new Handle API

TypeDetectionTest now uses the "isConstructable" method to determine if
a handle matches a particular file path.
Moved CoreMetadata translation to Abstract layer

Both ICS and APNG readers included translation of a provided metadata
object to CoreMetadata in the setMetadata method. This is probably an
artifact of implementation pre-Format unifying classes.

This logic was moved to the AbstractReader layer to prevent repetition
of code.
Parser#parse() also sets Metadata#source

The Metadata source field was not being set properly. During parsing is
an appropriate time to set this field, as it can guarantee that the
metadata being stored matches a particular source.
Added method comments to CoreMetadata

Added better javadoc for many methods in CoreMetadata
Implemented SCIFIO FakeFormat

Translated the FakeReader for .fake files to SCIFIO components. In
addition to the standard components, this format includes a FakeHandle
class that can be used to construct RAIS objects (as these are the
underlying currency of SCIFIO) without forcing disk I/O.
Added protected zero-param RAIS constructor

Declared a protected zero-parameter RandomAccessInputStream constructor
allowing more freedom for subclassing.