Added socket.handshake BC object

This PR has sketch of the backwards compatibility for `socket.handshake`.

For some reason `req.connection.address()` returns null. I'm assuming that it's visible if we do it in the actual handshake logic in Engine.IO, so we might want to consider moving the call there, and setting the property on the Engine.IO socket.

Another thing we might want to consider is moving the `time` and `issued` properties to be set in Engine.IO exactly when handshaking.

@guille thoughts?