Fix leaks
Fix unwinding tasks on dispose in KafkaConnection
Fix dispose unwinding in FakeTcpServer
Add a state indicator for the thread wall

Helps with debugging
Fix another dispose order exception
Move KafkaTcpSocketTests to unit namespace

Add a constant for the port number
Fix dispose unwinding in KafkaTcpSocket

The dispose will now wait for the threads to unwind before disposing the
token
Fix dispose unwinding for Consumer

Wait on the polling tasks to exit before disposing the cancel token.
Add logic to prevent multiple calls to dispose

Prevents an exception from throwing when dispose is called more than
once on the consumer class.
#20 Fix memory leak