Add a thread channel utility class

This utility class may be use to synchronize threads by using the
channel abstraction.
Add a thread monitor templated class

This utility class provides a monitor abstraction for concurrent
programming.
Initial implementation of MQTT client

A new abstract class `mqtt::client` is added to handle a connection to
a MQTT server. An initial implementation based on Mosquitto library
is provided.