Add comments to AbstractAPI classes
Conditions are optional in OmeroMetadata
Put create/query MapAnnotations in a class, add namespace.
Add a BlitzGateway wrapper for MapAnnotations
Incomplete implementation of a local feature file store
Added setup.py so that python setup.py test can be used
Change order of fsmeta and rowmeta parameters
Skeleton outline for testing store and fetch
Added a class for storing files locally
Started work on storing metadata as MapAnnotation, data in tables
Use a cache for the featuresets
Flake8 cleanups
Test OmeroMetadata.MapAnnotations
Fixes for bugs picked up by test_omero_metadata.py
Flake8 fixes
Added a version of query_by_map_ann that uses qs.projection

This is a temporary commit as a reminder of how to do it, it should probably be part of the query_by_map_ann function with a flag
itertools.groupby assumes inputs to be grouped are consecutive
Pass a keys/values as a dictionary, add wrapper for keyword args
Move project_by_map_ann into query_by_map_ann
Pass dicts to create_map_ann/query_by_map_ann