Added imglib2 to bio-formats dependencies

The imglib2 library needs to be present for Bio-Formats, because of its
dependency on scifio-devel.
Initialize LegacyContext variables

The SCIFIO (context) in LegacyContext is initialized to null.
Renamed "SCIFIO.." to "Discoverable" annotations

All annotations in ome/scifio/discovery have been converted from
SCIFIOxxxx to Discoverablexxxx for clarity, given that not all
discoverables have to be associated with the core SCIFIO API.
Moved DefaultDatasetMetadata to Abstract layer

Added an AbstractDatasetMetadata implementation, which
DefaultDatasetMetadata now extends - instead of putting all the
implementation in the concrete class.
Converted legacy classes to use DatasetMetadata

The legacy CoreMetadata class and adapters now reference the base
DatasetMetadata interface instead of the DefaultDatasetMetadata
implementation.
Added add(ImageMetadata) method to DatasetMetadata

DatasetMetadata can now add individual ImageMetadata objects to its list
of ImageMetadata.
Plane populate() returns the plane

When an instance of Plane invokes its populate method, it now returns
a reference to itself instead of null, for convenience.
Updated legacy layer to use planes

The loci.formats package classes have been updated to invoke the proper
plane API from SCIFIO.
Added a null context to AbstractFormat

Formats should no longer throw NPEs when given a null context, because
of trying to set themselves as a format.
Converted wrappers to SCIFIO filters

The wrappers previously located in ome/scifio/wrappers were
non-functional for SCIFIO.

A parallel set of wrappers (renamed filters) was designed to be
automatically discovered. The idea is that users can get a handle on a
top-level controller (e.g. ReaderFilter) which will automatically
discover and populate a list of filters, which can be enabled and
disabled at will (instead of necessitating a rebuiling of the filter
stack).

This makes wrapping in SCIFIO flexible and extensible.
OmeisImporter updated to use Filter API

OmeisImporter used wrappers in loci.formats. The ome.scifio veresion is
now updated to use the Filter API.
Removed a superfluous semicolon in AbstractChecker

No effect on the code.. just an extra ';'
Moved metadata casting to SCIFIOMetadataTools

As Metadata classes can exist without a format (e.g. DatasetMetadata or
OMEMetadata), the logic for casting untyped Metadata to typed was moved
to SCIFIOMetadataTools.
DatasetMetadata is constructed with a context

In AbstractReader, when DatasetMetadata is constructed it is done so
with a context so as not to be null, as Readers are contextual.
Correct check for existing Format in context

When attempting to add a new format in SCIFIO.java, the check to see if
the Format was already known was reversed. This has been corrected.
Corrected FilePathBuilder for scifio-devel paths

There was a hard-coded reference to "scifio" paths. Updated to
"scifio-devel".
SCIFIOFormatReader  updated for CoreMetadata list

Updated SCIFIOFormatReader for CoreMetadata as a list instead of an
array, to avoid repeated instantiation of CoreMetadata arrays when
invoking the legacy API.
Changed default thumb size values in FakeFormat

If a value isn't provided, these are set to X and Y instead of
effectively 0.
Corrected Filter ordering to priority

Filters were sorted in reverse order, due to the comparable
implementation of AbstractFilter.

This has been reversed, as filters were being invoked in the reverse
order as intended.
FakeFormat ColorTable available before openPlane

In SCIFIO, since planes contain the color table, no color table is
guaranteed to be available before openPlane is invoked.

This was true of bio-formats as well, but some formats (e.g. FakeFormat)
required planes before openBytes was called anyway.

To accommodate this in SCIFIO, specific Format implementations will have
to provide API for color table access.

Fixed in FakeFormat.