Handle case of size 0 file.
Improve group arguments allowing to specify input type (id or name)

In add, joingroup, leavegroup subcommands, group can be passed by id, by name
or by id_or_name as a positional argument.
Fix inverted id and name in group addition message

Also explicitely state name and id in user addition message
Refactor find_group() method and expose group ID/name ambiguity

find_group() now systematically looks up for group by ID and by name for a
given input. Found groups are resolved in a second step and a warning/error is
raised is multiple groups are found, e.g. for two different group where
id_or_name is the ID of the one and the name of the other.
Do not return group if ambiguous group is found in find_group()
Fixes for bio-formats build/eclipse
Refactor TestPythonImporter for re-use
Add Memoizer usage to OMEROWrapper
FielSerializer in OMEXmlModelComparator. Possibly unneeded
No longer close reader in ImportRequest
Activate DEBUG logging for Memoizer
Add Memoizer to BfPixelsWrapper and PixelsService
New-style (temp) Kryo configuration
Trace logging in cli
Add missing OMEROWrapperTest
General OMEROWrapper refactorization for passing directory

Reduce the number of locations that OMEROWrapper is created,
passing directory when it is clearly server-side.

Note: this currently does not compile because the OMEROWrapper
lives in blitz while everything else lives in romio.
Split OMEROWrapper to CachingWrapper for directory use

To simplify cleanup, having all caches written into a single
directory was added to the `loci.formats.Memoizer` class. Here,
hard-coded as `/tmp/memo`.

The various import related classes, howerver, are a tangle of
dependencies making it very difficult to not copy the same block of
code, e.g. the ReaderWrapper sequence and setting the proper
directory, throughout the code base.

By splitting OMEROWrapper into a CachingWrapper part in romio with
no dependencies on blitz we can mostly do this.

A few issues:
 * now, client-side caching is disabled
 * requires an insight dependency on romio
 * enforces use of a wrapper through ome.io.bioformats
 * allowed for preliminary, needed import class cleanup:
    - use of `wrap()` is encouraged
    - overriding `ReaderWrapper` method is discouraged
    - discourage holding on to wrapper instances
Fix slf4j rebase issues
Fix ClassCastException in OMSC
Merge remote-tracking branch 'origin/develop' into fs-file-caching

Two branches both tried to refactor the copy-n-paste
issues with reader creation. The combined solution means
it's possible to override createBfReader, but by default
a simple CachingWrapper will be returned.

A rebase would have been unduly arduous since in the early
commits of the fs-file-caching branch the CachingWrapper
which would be needed wasn't present, making bissecting
later impossible.

Conflicts:
	components/romio/src/ome/io/nio/PixelsService.java