Added heartbeat replies, fixed two bugs, and added logging.

Client will now send a heartbeat back to the server when it receives one, so the connection won't time out. 
Removed unreachable catch block in cleanup() method, and changed WebSocketClient.Handler() to a Listener() to match the recent change to to the WebSocketClient interface.
Changed print statements to use Log, to be consistent with the rest of the package.