WIP Add ChatChannel
Add missing license headers to ConversationModel
Use a context when connecting lambdas to a signal

The connection is removed when the context object is deleted, which
will make sure the lambda's captured pointers remain valid.
FIXUP AHSC inverted if
Add Connection::channelOpened signal
PROTOCOL_NEW Add ContactUser::connection
PROTOCOL_NEW Port ConversationModel to new protocol