Pass error events up when reconnect is false

When reconnect isn't enabled (i.e. you pass reconnect: false), error events get silently swallowed in the backoff() function.
Instead, backoff should do what it does now but re-emit the error if reconnect is false.