FIXUP AHSC inverted if
FIXUP Connection avoid 0-size reads and handle close packets properly
Add Connection::channelOpened signal
WIP Add Channel::openChannel method
FIXUP Connection::channelOpened signal when the channel is actually open
Add Connection::channelCreated signal
Make Connection destruction cleaner and safer

Carefully destroy all channels when destroying the connection, to ensure
nothing accesses the deleted Connection instance.
Actually use the unknown connection expiration timer
WIP ContactUser use OutboundConnector
Listen for incoming new-style protocol connections
WIP UserIdentity handle incoming connections
WIP ContactUser add m_connection (partially)
Add early handling of connections in ContactUser
FIXUP ContactUser use Connection purpose
Remove incorrect check of connection purpose after authentication

ContactUser doesn't always set the purpose of a connection, but it does
always claim ownership; if a connection isn't used, it will remain in
the unknown purpose until it's deleted. This bug check was invalid.
WIP Add ChatChannel
FIXUP Rename data classes for 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.
PROTOCOL_NEW Add ContactUser::connection