Disconnect the broker when it returns us certain errors

Specifically, in the cases that indicate it is probably unreachable or
something. Otherwise we never reconnect, even if it comes back up.

Fixes #133

@burke @graemej @Sirupsen