Add protobuf compilation support to build

This adds dependencies on libprotobuf, protoc, and a C++11 compiler.
Add ControlChannel.proto
Skeleton implementation of Protocol::Channel
Skeleton implementation of ControlChannel
Add Connection implementation for new protocol
Add connection logic to Channel and ControlChannel
Add purpose property to Connection
Timeout connections with unknown purpose after 15 seconds
Switch to an even-odd scheme for channel ids
WIP Add OutboundConnector
WIP Implement hidden service authentication channel type
FIXUP Channel/AHSC Implement Channel::create method
FIXUP OutboundConnector perform authentication
WIP ContactUser use OutboundConnector
XXX UserIdentity use QTcpServer directly
WIP UserIdentity handle incoming connections
WIP ContactUser add m_connection (partially)
WIP ContactUser assignConnection method
WIP
WIP Add ChatChannel