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