Refactor *.coffee files. Add reconnect() method.

1) Don't use fat arrows, if it's not needed. Please, try to avoid it (see discussions at google.com: "avoid fat arrows in coffescript").

2) Extract common methods and code from Websocket and HttpConnection to AbstractConnection adapter (much cleaner + DRY).

3) Move `.connection_id` from WebSocketRails dispatcher to WebSocketRails.AbstractConnection. `.connection_id` is still also bound to events and channels.

4) Add `.close()` method to AbstractConnection.

5) Add `.connect()`, `.disconnect()` and `.reconnect()` method to WebSocketRails.

6) Refactor some specs.