Merge pull request #209 from joshuawarner32/master

fix lzma build
Merge pull request #210 from dicej/cell

fix OpenJDK and Android build regression
various refinements to network implementation

The main idea is to make DatagramChannel and *SocketChannel behave in
a way that more closely matches the standard, e.g. allow binding
sockets to addresses without necessarily listening on those address
and accept null addresses where appropriate.  It also avoids multiple
redundant DNS lookups.

This commit also implements CharBuffer and BindException, and adds the
Readable interface.