Add mqtt

Does this look good to you? @cwandrews 
What happens in the convenience functions if the MQTTClient has not yet been initialized? @fauve-