Refactor and simplify the UserList class

This allows more high-level functionality to be moved out of the Client
class.
Move self entity parsing into UserList
Pass initial data as argument to on_connect event
Clean up client._initialize_chat method
Make parse_chat_message only handle chat messages

rather than all ClientEvents
Fix misleading argument name
Add temporary wordaround for #12

Conversation may have event from user who is no longer a participant.
Make Conv.get_user work for non-participants

Fixes #12