Initial import.
Initial import.
- changed code from tabs to spaces (4 spaces per level of indentation)
- added socket timeout so that incorrect password is detected
- started cleaning up exception handling and propagation
Basic Client connection object is working.  Still need to do proper exception handling, server and setting name lookup, etc., but the essentials are there.

Also made some improvements to Data and Type APIs.  In particular, Data objects now use a sentinal (-1) for all variable-length pieces to avoid memory leaks when reassigning strings or adjusting array shapes.
- changed Type obects to be tagged with an enum code, rather than just a character code.

- added Exception handling as well as cancellation to RequestReceivers in Client.java, making them much more robust when errors happen.

- fixed up Threads in Client.java so that IOExceptions in the reader or writer thread will cause the Client to disconnect.  Also, calling close on the Client correctly stops the threads and cancels any pending requests.
Added server and setting lookups to Client.java.  Can now specify server and settings as strings and they will be looked up.  The info is also cached, so that future requests do not incur any network overhead from the lookup procedure.
removed org.labrad.clusters package.  It was a bad idea anyway...
little bit of cleanup in Client code.
lots of enhancements to Data API.