Refactor to allow using client without subclassing
Handle auth errors without stacktrace
Disable mouse handling

Fixes copy and paste on chromebook's terminal.
Refactor and add UserList class
Refactor and add ConversationList class
Fix exception handling issues

hangups has always had a problem printing a stacktrace and exiting when
there's an uncaught exception. When using urwid to start the IOLoop, it
uses IOLoop.start(), which causes many exceptions to be logged rather
than fatal. The solution is to patch urwid.TornadoEventLoop so it starts
our connection coroutine with IOLoop.run_sync() instead of calling
IOLoop.start().