Preliminary tcp connection protocol, untested

Separate threads for sending, receiving and initialising the connection

Blocking queue used for both send and receive

Sender thread tries to pull an object from the out queue and send it
across the network, blocks if there is nothing to be sent

Receiver continuously tries to read from the socket