Add test for multiread data streams
Add write test for Socket

Also move test to unit test section as it no longer needs an external
server for testing.
Add a common object to provide wall locking.

This was just pulled out of the air.  Should do some review of a better
way to provide this functionality.
Add new ServerDisconnectedException
Large re-work of TcpSocket with tests

Playing with the socket class and providing some extended ability.  I
want some consistent behaviour from this depending on the server state.