Created proof of concept of using the SocketThread

Also fixed a typo where an exception was called by a wrong name
Fixed wrong ordering of arguments
SocketClient reply and cmd now have string names
Added comments and todos
Prettyfied the source
import socketthread instead of import from ...
Implemented peer send_handshake method
Added template for implementing receive handshake
Added todo in socketthread
Implemented receive_handshake method
Added a receive_with_prefix method
returning the not unpacked length_prefix
Implemented a blocking version of receive_handshake
Correctly handling unsupported unpack size
Correctly handle HandshakeException
Change from unpacking unsigned long to unsigned int
Peer.receive_message now vaguely supports socketThread