Message for Rest is different to Realtime to message so namespace accordingly

Restructure unit tests ready for Rest vs Realtime
Bug fix & add tests for delegators
Consistent use of timestamps, better organisation of models
Reduce duplication in documentation + minor fixes
Models for Realtime data types + RSpec testing for Realtime

- Introduced unit tested models for Message, ProtocolMessage and ErrorInfo, intrinsic types needed to run the realtime system
- RSpec testing for EventMachine reactor
- Some refactoring of existing realtime system, some way to go
Version bump
Test coverage for PagedResource + bug fixes + avoid ambiguous #first
Standardise data conversions and acceptance of data options
Stop symbolising all JSON, and wrap Ably JSON objects in an idiomatic Ruby style

- Previously objects were converted from mixedCase style to Ruby snake_case, and back again, however this was plagued with bugs, and we were automatically converting all objects to symbolized objects when received over HTTP.  This interferes with the data payloads.
- Use `clone` by default instead of `dup` as typically we want to bring through any additional methods defined on that object instance.  We also now use `dup` specifically for idiomatic objects.
Working REST presence support
Version bump for REST presence support