Refactor channel messaging. Send %Message{} instead of JSON for back-end subscribers

We should not encode the message as json so regular processes can receive a
regular map message. The socket receives can perform the JSON encode before
forwarding the message to the WS clients.
Merge branch 'master' of github.com:chrismccord/phoenix