Raise friendly error for non-map message in Channel functions

Closes https://github.com/phoenixframework/phoenix/issues/263

Please let me know if I should make any changes. :smile:
I applied the change but was wondering what makes you prefer this approach? Does it make it less likely to change?