Don't readd subs when reconnecting

Addresses https://github.com/Automattic/socket.io/issues/1586

Can't add a test case that requires a server close here. Let's look into adding a test case to the socket.io repo.

`make test` => all green

The idea is that we only add subscription for open, packet and close events once. If the socket is disconnected and connect is called on it manually, we used to readd the events . Because Manager#connect doesn't call Socket#connect, we should be safe to only add the events in the constructor.