API spec change - message ID via REST and removal of sender timestamp

- Sender timestamp is no longer supported, if a client wishes to have the timestamp in the message body they should add it as part of the payload.  This simplifies the API and reduces potential confusion about what a timestamp represents.  The timestamp is now the time at which Ably received the message.
- Message ID is calculated dynamically in the Realtime system from [connection ID]:[message serial]:[message index in protocol message batch].  Via REST, it is sent as the attribute “id” from Ably

All Message types now support message#id and #message.timestamp
Isolate stats tests from other tests to ensure App stats are accurate and tests pass
Allow symbols for log_level and default to Logger::ERROR

Log level can now be set as :log_level => :debug