Without this, it's very easy to send messages over a subscription even before the
redis pubsub has been fully initialized.
Now we delay calling the subscription#connected method on the client side until we
receive a subscription confirmation message from the server.
* Rely on AS::Callbacks for callback handling.
* Add before_subscribe, after_subscribe, before_unsubscribe and
after_unsubscribe convenience methods
* alias on_subscribe and on_unsubscribe to after_subscribe and
after_unsubscribe, respectively.
* Remove `subscribed` and `unsubscribed` from the callback chain:
these methods are now executed as the subject of the callbacks.
* Update portions of ActionCable to use the more specific
callback names.