client: Auto-reconnect with an exponential back-off

Use smarter and more standards-compliant ReconnectingClientFactory
that keeps the client connected after connections failures.