TMP
Add wrap() and unwrap() methods to rtypes.java

As originally suggested by @ctrueden in http://git.io/0F7HXA
(DefaultOMEROService.toOMERO), these methods take or return
arbitrary graphs of object/rtypes. See http://git.io/9roMWw
for the original implementation in Python.

This implementation includes a cache so that cycles in the
graph are short-circuited.
TMP: minor test changes
Move getManagedRepository to client.py
Better exception handling of versionInfo

Previously a null version info passed by the
user would cause an exception. This change
makes that more lenient.
clients.py: provide write_stream helper
Use importFileset for synthetic data

The uploadFileset method does not provide a way
to access the newly created fileset ID. Instead,
this uses importFileset but puts an unimportable
image at the front of the fileset (e.g. `README.txt`).

This may be a sufficient method that uploadFileset
can be completely removed.