Remove some redundant checks

I would love to have another pair of eyes here, especially for Socket.IO.
After thinking again about this:

1. We now create a new instance every time the `outgoing::reconnect` event is fired.
2. When we create a new instance we close the previous one in the same old way.
3. We haven't had leaks reports (at least that I'm aware of) for the `socket.io` transformer and this probably means that the close cleanup works fine.

In the end, I think that we should be safe.