First implementation of minimal Broker API

Agreed on the separated responsibilities. One can subscribe to multiple URIs, but one broker so far only publishes on one URI, hence the asymmetry. The publish() function does the actual sending, so naming needs to change if setting up the publisher and sending is done via two functions.