Stopped OMEMetadata auto-imageMeta population

Automatically populating ImageMetadata when creating OMEMetadata was
overly aggressive and did not allow for creating an OMEMetadata that
would be populated later (e.g. by the OMEXMLFormat).

It is now not populated until requested. Added requests to populate
imageMetadata as needed.
Improved Metadata support in SCIFIOFormatReader

Instead of always creating new Metadata, SCIFIOFormatReader now checks
for attached Metadata and uses that if available.

To support this functionality, added a protected setupMetadata method
so that individual Reader implementations can populate their metadata as
needed (e.g. attaching a MetadataStore to be populated).

This protected method was necessary because the Reader (and thus the
Metadata) is closed during setId calls.
Refactored OMEXMLFormat to populate OMEMetadata

The legacy and SCIFIO OMEXML layers will now properly populate provided
MetadataStore (and OMEMetadatas) instead of always creating a new
instance.
Added null check to OMEICSTranslator

Only populate image creation if a timestamp is present.
Added null check when populating ImageMetadata

Only popluate image name if metadataretrieve has 1 or more images.
Created SCIFIO Cell package

The SCIFIOCell series of classes facilitate creating an imgplus
(SCIFIOImgPlus) that uses the CellImg principles of dynamically loading
pixel information as it's requested.

Cells allow an image to be broken down into manageable bits, so that
images too large for memory can still be viewed and operated on.

The SCIFIOCellCache performs actual caching operatings, allowing
operations on cells to persist after the cell falls out of scope. It
uses an in-memory weak reference cache for fast memory action, and an
Ehcache back-end for its disk caching capabilities (and general memory
management).

This change also involves migrating ImgOpener and ImgSaver from Imglib
to SCIFIO (as these classes use SCIFIO to perform their IO operations,
and SCIFIO uses Imglib).