Browser MQTT client behavior fixes
- Fixes an issue where the exponential backoff part of the reconnect behavior was not getting used properly because we needed to listen to the 'close' event and not the 'offline' event
- Fixes an issue where the disconnect promise was not being completed.