Convert non UTF-8 client_id, channel and message name strings to UTF-8 instead of expecting UTF-8 and raising an ArgumentError

Refer to original commit aa9fa76 which enforced UTF-8 encodings only. In line with the other client libraries, we will instead accept any encoding for strings for these properties and convert them to UTF-8 before sending to Ably.
Fix bug in message tests
Encoder spec provides a good reference for other client lib developers
Log errors when messages cannot be decoded over REST, but ensure messages are delivered
Bug fix for HTTP logging in debug mode