Ensure the 'tmp' dir exists before running tests
Implement cookbook following/unfollowing

Implement the ability for users to follow and unfollow a cookbook.
Signed in users may click Follow and they are associated to the cookbook
via CookbookFollower clicking Unfollow will delete that association.
When signed out the follow button is still displayed but the user is
directed to sign in then redirected back to the cookbook that they
innitially tried to follow.
Merge pull request #236 from opscode/ensure-tmp-dir-exists

Ensure the 'tmp' dir exists before running tests
Update dependencies.

Most notably, Sidekiq 3.0.0.
Merge pull request #213 from opscode/cookbook-following

Implement cookbook following
Merge pull request #237 from opscode/update_dependencies

Update dependencies.
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.