attempt_handshake is now a method of Peer
Saner exception handling in Peer method receive_handshake
Fixed problem where we never shooked_hands
Also applied sane exception handling to peer.attempt_handshake
SocketThread.get_reply now returns returns a response with None
instead of just returning None. This makes for saner handling of None
responses
More clearly reported error in case mismatch of handshake