Tcpsocket

This switches the connection class to use TCPSocket, and in the process it should now handle message length correctly and be 8-bit clean.

Caveat: A couple of the test cases are commented out as they hang for me when I try to mock TCPSocket... Might be some other rough edges too, but I'm passing around thousands of PNG images with it at the moment and so far so good.