Parse complete state updates with single schema

A lot more refactoring is ahead.
Move ClientStateUpdate parsing out of Channel
Refactor ConversationList to use ClientStateUpdate

This will let us move more high-level functionality out of Client.
Add events for watching all conversations
Switch Notifier to a ConversationList event

instead of a Client event.
Add client event for handling syncs
UI listen for chat messages on ConversationList

instead of Client
Remove high-level events from Client

They have been replaced with events on ConversationList and
Conversation.
Remove unused parsing functions

They've been made trivial by the new schemas, so there's no point
keeping them around if they're not being used.
Move user stuff to a new file
Re-add workaround for syncallnewevents duplicates
Parse initial conversation using schema
Parse initial users using schema