Split OMERO credentials into separate helper class

Previously, the OMEROFormat.Metadata had them as *some* of its fields.
But the credentials are useful in other situations besides obtaining a
specific pixels of a specific image.

So now the OMEROSession class uses OMEROCredentials and does not keep a
reference to a specific OMEROFormat.Metadata instance. The methods that
used it (e.g., to extract pixels from OMERO) have been changed to take
that Metadata as input, so that you can use the same OMERO session for
different pixels IDs, etc.
OMEROFormat: add unit test for argument parsing