Added class-based translator lookup

The translator service can now look up translators based on class
instead of Metadata instance.

This facilitates looking up lower priority translators that may be
overwritten otherwise, e.g. if you are translating an OMEMetadata to an
APNGMetadata, you may want to first invoke the general Metadata to
APNGMetadata translator. This would be bypassed by the Metadata
instance-based lookup method, as it finds translators based on runtime
class.
Added ics setter methods

Added a series of dynamic setter methods to the ICS Metadata. These
reverse the getter methods, generating new entries in the Metadata's
key,value pair dictionary.
Implemented OME->Format translators

The OME to APNG and OME to ICS translators are now fleshed out and
functional.
Added context-only OMEMetadata constructor

This constructor funnels through a context + OMEXMLMetadata constructor,
setting the root to null.

Context constructors are necessary right now in Metadata classes not
attached to existing Formats (as it is the Format.createMetadata method
that sets the Metadata's context as well).
Guaranteed axis lengths == 1 in populateDimensions

The SCIFIOMetadataTools methods that populates ImageMetadata dimensions
now guarantee a minimum axis length of 1.
fixme: wrong plugin types.
Moved isVersionTwo from ICSFormat to Parser

The isVersionTwo method makes more sense to be in the Parser than the
actual Format class. Formats are not to be externally functional in that
sense.

Effectively copied the functionality of the bio-formats
isSingleFileMethod (which calls this new Parser method)
Removed state from translators

Previous implementation had translators using protected fields that
would be set turing translate(Metadata, Metadata) calls, then operated
on by a non-public translate() method (which allowed for pre and
post-translation hooks).

However, state is always dangerous for multi-threaded environments. So,
instead, a "typedTranslate" method was added that takes the typed
Metadata instances, and is functionally identical.
Updated ICS Format

The ICS format was severely out of sync with the Bio-Formats
ICSReader/ICSWriter. This should be corrected now.
Math correction in writer plane size check

Was using bytes per pixel instead of RGBChannel count. Fixed.
Don't create unnecessary ImageMetadata

The OMEXMLMetadataService now checks to see if it needs to create
ImageMetadata instead of just always creating it, when populating
a Metadata object.

The previous behavior could lead to doubling up of Metadata, which would
then mismatch with the image/plane indices.
Fix RGBC check in OMEXMLService

The Metadata population in OMEXMLMetadataService was setting RGB to true
if the rgb Channel count was > 0. It should be if > 1, as 1 is the
default value.
fix: split this up
Corrected scifio-devel classpath

Added log4j jars, removed netcdf.