Add Join() method to Broker

Can you keep these in the CLI code? I just had a `Logger` on the `messaging.Client` to handle errors that occur in the message loop goroutine since they can't be passed back to the caller.