Reconnection events propagated to socket

Now `reconnecting` (created the event, and passing attempts to it) and `reconnect` events are propagated to socket, as well as `reconnect_attempt`, `reconnect_error` and `reconnect_failed`.
Makes sense, will update in a bit.