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.
Fix FakeTcpServer functionality

Add tests that check some basic features of the Fake.
Add many more tests of socket behaviour
Update KafkaConnection to use KafkaTcpSocket

This includes reworking the threading / block on the read stream and
write stream functions.
Add unit tests that take advantage of FakeTcpServer to test specific
events.
Remove unused using statement
Add two construction tests to KafkaConnection