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.