Created an outline for threaded socket abstraction
Implemented handling of basic socket commands
Implemented methods for each socket command.
Added missing handling of receive command
Added get_reply method to SocketThread
Added docstring where missing on SocketThread
Automaticly start the SocketThread on creation
Pointed out possible missing calls to task_done
Correctly handled invalid handshakes