Move Ably::Token into Ably::Models::Token
Improve documentation
Additional Presence functionality #update, plus retain client_data automatically
Protocol updates to match Ably API, PresenceMessage#action instead of state, ProtocolMessage#id

- ProtocolMessage#id is now opaque and is never calculated in the client
- PresenceMessage now uses an action field instead of state
Allow :web mock tests to be run individually via RSpec by mocking out TestApp which attempts HTTP requests
Prepare models to use #hash accessor instead of #json

It is misleading to refer to underlying data as JSON as binary protocol does not return a JSON object, but a Hash instead.
Support for MessagePack over REST by default
Standardise Models to support #to_json and #to_msgpack uniformly
MsgPack support & default over Realtime Websocket connection