Add extensions for networkstream
Rework of the kafkaconnection read loop
Change enum response codes to valid values
Flush out TcpSocket interface
Move extensions to Socket file
Add dispose to socket
Switch KafkaConnection to use TcpSocket
Code cleanup
From Daniel_Balogh: check buffer overflow in read stream
In the ReadByteStream check the length of the stream before requesting byte data.
The structure should know how much data it needs to read, but this will ensure that a buffer overflow or a buffer full of zeros wont occur.
Add fake tcp server for testing

Renamed Socket class to make it easier to distinguish custom socket.
Add work around to get cancel working.

Add a listener to the cancel token.
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.
Add documentation and convenience func to interface
Add new ThreadWall object for task management

See the notes on the class description.
Increase the base timeout for TaskTest
Switch debug to use Trace instead of Debug

The reasone for this is that is shows up in nunit outputs and looks
nicer for it.  Noone is really going to use the default logger.