Updated ZipHandle constructors

Added a context constructor to the scifio ZipHandle, and changed the
legacy ZipHandle to use it appropriately.

The SCIFIO ZipHandle constructor was unnecessarily repeating itself, and
throwing NPEs because it would do things in the wrong order. This has
been fixed by delegating to the super (Context) constructor and simply
calling setFile.
Converted SCIFIO to context wrapper

Instead of making SCIFIO a service, so one would have to call
getContext.getService(SCIFIO.class), The SCIFIO class is now just a
disposable wrapper that can be constructed around an existing context to
provide convenience acccessors for SCIFIO-related services (which is all
it ever did, anyway).

This greatly simplifes the code, SCIFIOs can be constructed any time, as
needed.
Added LocationService to SCIFIO convenience

Added another convenience accessor to SCIFIO for getting the current
context's LocationService.
Simplified LegacyAdapter API

It now follows a similar pattern as SCIFIO of having the low-level
interface be generic-free, but abstract and concrete layers specific
generic types.

This makes working with adapters easier, and facilitates a paradigm
where the user doesn't have to know what kind of adapter they are using.

Removal of types from the interface meant condensing the API to simple
"get" and "map" methods that operate on objects. Type checking is all
handled in the abstract layer, and by the static utility classes.

The one down side to these changes is that, since Objects are being
used, casting is required. To get around this, each package with
Adapters in it has a new static utility class with type-specific methods
dictating the relationship between legacy and adapter clases.
Added FilePatternService method to SCIFIO

Added another convenience method to SCIFIO, for retrieving the current
context's FilePatternService.
Added parameters to InitializeService

Since the DefaultInitializeService is a service, it now declares its
inputs via @Parameter flags instead of caching a SCIFIO instance and
then going through the SCIFIO convenience methods to get the desired
services.
Added HasSCIFIO interface to cache a SCIFIO

Although SCIFIO instances can be freely constructed around any context,
there is some overhead in looking up the necessary services each time.

Since most components already are contextual, the new HasSCIFIO
implementation lazily constructs and caches a SCIFIO object when
requested. This helps to avoid repeated instantiation issues.
fix: moved AttributeService to Services package
wip: converted Services to scijava context

eliminated ome.scifio.discovery package
wip: removing DatasetMetadata interface
fix: added scijava common to ome-io build.properties
fix: added log4j jars to test-suite classpath
fix: scifioformatwriter now sets metadata using metadataretrieve
fix: initializeservice sets dataset name
fix: removed translator constants
fix: added ome->format translatmrs
fix: imetadata population methods to omexmlmetadataservice
fix: imetadata population methods to scifiometadatatools
fix: added class-based translator lookup
fix: added ics setter methods