Translator refactor: remove Metadata.CNAME

The CNAME constant has been removed from io.scif.Metadata and all
affected subclasses. Note that some subclasses did not define a CNAME,
which highlights the confusion and complexity of using the static
constant.

As a whole, the @Attrs that were previously used for Translator
discovery have been converted to API methods. The TranslatorService has
been updated to use the new API.
Removed PluginAttributeService

This service was created to facilitate Translator discovery via
annotation. It is no longer required as translators are now discovered
by API, and this functionality probably could have been implemented just
by using the PluginInfo API anyway.
MetadataWrapper: removed unnecessary interface

No need to extend SCIFIOPlugin, as it's already a superinterface of
Metadata.
Filters: remove @Attr annotation usage

The Filter implementation was heavily relying on the @Attr addition to
the @Plugin annotation to define the filter target, priority and default
enabled status. This was extremely verbose and confusing, and
complicated the logic of Filter enabling and construction.

By converting the @Attr to API use, via new enabledDefault() and
target() methods, and overriding getPriority to return a fixed value,
the Filter logic has been greatly simplified.

Updated the FilterTest and filter usage as needed.
MetadataWrapper: remove plugin annotations

All ReaderFilters define the Metadata they are bound to in their
constructor. There is really no reason to be trying to dynamically
discover these. The Filter should be the unit of discovery, with any
accessory classes bound by their use.

This also removes the messy @Attr use in several MetadataWrapper
implementations.

The AbstractReaderFilter#setParent method has been updated to use the
known metadata class (if available) to create a new MetadataWrapper and
wrap the parent metadata. This logic is significantly simplified.
Merge branch 'api-driven-translation'

Removes all @Attr usage from Translators, Filters, and MetadataWrappers.

This also eliminates the static constants that were being used in the @Attr
fields, as these constants can cause versioning issues when they are copied
into consuming libraries (e.g., even if the SCIFIO library updates these
constants, the copied values will remain until the consuming library is
recompiled).

All functionality that used the @Attr annotation is now API-based.

Closes #20
Closes #108