Fix reconnect loop

Fix 2 different issues that were causing a reconnect loop after timeout.

First when sending a `closed` event, `reconnecting` property was being set to false when a timeout occurred. This caused ircanywhere to destroy the client after every reconnect attempt.

Second, once a timeout occurred `_lastTime` was not being updated, causing a timeout as soon as we first check for it a few seconds after registering.