Monkey patch everything

Primarily so the client can make use of greenlets and Timeout on the
socket
Add Timeout to receive on the client side

Close the socket and allow a reconnect if nothing is received in 5
seconds