scifio: Add IBaseMetadata

Note: Depends upon https://github.com/openmicroscopy/bioformats/pull/427; only the last commit in this PR is actually in this PR.  If needed, I can rebase it after #427 is merged.

IBaseMetadata is a base interface for MetadataStore and MetadataRetrieve, giving the following hierarchy:

````
           IBaseMetadata
               /    \
    MetadataStore  MetadataRetrieve
               \    /
             IMetadata
````

The intention here is to have base type which can be used to specialise containers for that type, which can contain instances of both MetadataStore and MetadataRetrieve, principally AggregateMeta.