Rename User's "username" field to "channel_name"

* The Channel name is more appropriate, since that will be the public
  "name" of their user, and every user has the ability to upload media
  which is displayed in a "channel"
vendor stuff
Clean up Method names to use camelCasing instead of underscores.
Users now Authenticate by Email address not, username or channel name

* Usernames are unique throughout the application, and a lot more
  common.
Fix Registration to create a user with their Email (was ignored)

* Also moved the email field up to the top.
Fix Rollback statement for adding created_at field to messages
refactor and fix tests
Require unique email address on User Model

* Email is used for authentication, so each user needs an email and it
  needs to be unique.
Abstract Error Message printing into its own partial to be reusable
User Registration now prints error messages, deleted ProfileController
Refactored Media Controller, added ability for owner to delete Media