Sockets emitted by the 'connection' event are always connected, having them emit the 'connect' event makes no sense. It only confused people, as it's not clear if you have to listen to 'connect' or not. That try..catch block was also very scary. It would silently swallow exceptions in 'connect' listeners and destroy the socket. Makes no sense. Fixes #1047.