Cookbook names must pass a whitelist format

In particular, they may only contain letters, numbers, dashes or
underscores. No spaces allowed.
Change recently_created to recently_added

Both recently_created and recently_added termniology was being used
throughout the application for ordering cookbooks. This changes it to
only be recently_added as that's consistent with the UI.
Merge pull request #249 from opscode/whitelist-cookbook-name-characters

Cookbook names must pass a whitelist format
Merge pull request #252 from opscode/recently_created_to_recently_added

Change recently_created to recently_added
Remove use of RJS

RJS while useful can lead to security issues if implemented incorrectly
and can become brittle and add unnecessary complexity to a simple
problem. I'd like to address the problem at hand (making the application
feel more reactive) at more of an application level using something like
Turbolinks or PJAX. For now though I think having these actions as full
page reloads is fine and removes a bit of complexity and risk.
Don't store location and authenticate for update

store_location_then_authenticate_user! is more useful for follow and
unfollow actions. We'll want to handle authentication/authorization for
the update action a bit differently once oc-id is in place. Also remove
the flash message from the update action as it doesn't add a ton of value.
Merge pull request #253 from opscode/no_rjs

No RJS
Replace Devise authentication with ChefOAuth2.

[ci skip]

This is not yet complete, as oc-id is not deployed in production and the
omniauth strategy is not open source (Travis CI builds cannot pass).

This replaces Devise (email/password) authentication with Omniauth
authentication. Supermarket uses oc-id, a Chef service, as the provider for
authentication. This means that for a user to sign up and/or sign in to
Supermarket they must create a Chef Server account, as they currently do. This
however removes the duplication of records and simplifies the communication
between the community site and Chef Server for authentication when sharing
cookbooks.

Notes:

* Remove omniauth-twitter because it is no longer being used
* Store chef_oauth2 public key on Users.
Update the chef_oauth2 extractor to be correct.
Adjust the cookbook follow spec.
Remove notnot from the signed_in? method.
Do not set the chef_oauth2 omniauth site.

This also uses the GitHub repo for the gem to ensure the latest code is used.
Adjust omniauth-chef-oauth2 gem location and branch.