Admin add video

Please review and make comments on this implementation.
The my approach differs from the solution in the following ways:
* Defined AuthenticatedController and AdminController classes in controller class hierarchy to abstract away the user and admin user filters.
* Created add video link in the header, visible only if admin is logged in to link to the admin add video path
* Implemented the edit and update methods and associated edit and update routes for the admin video controller, to allow admin user to edit existing video records.
* Added "Edit Video" link in show video template, only if admin is logged in - to link to the above edit video workflow.
* Implemented a "watch" method in the non-admin video controller to bring up a separate page with an embedded video control for watching videos.  This is the HTML5 video control.
* Created controller tests for the above methods (edit, update, watch)
* Updated my video seeding code that seeds the dev database to take into account cover art.
* Used S3 even for test and dev modes of the software.  I this the most questionable and I realize that for dev/test use cases this is overkill and undesirable to keep hitting S3 during tests runs.  I just wanted to see if I could confirm that pushing to S3 was working.


You can actually get rid of the `begin` when inside a method and do something like this:
```ruby
def watch
  @video = Video.find(params[:id])
rescue ActiveRecord::RecordNotFound
  flash[:danger] = "There is no video with ID #{params[:id]}. Showing all videos instead."
  redirect_to videos_path
end
```