Only disconnect the broker on error conditions

Otherwise we pull it out from underneath other producers/consumers who might be
talking to it.

@burke @wvanbergen