Refactor with new "Client" class. Basic reconnect.
Attempt to track down reconnect bug
Log state transitions
Logging is optional, accepts a file argument
Trim log lines for 'handle'