Devise Integration

:fork_and_knife:

Replace the homegrown authentication with Devise. Devise provides password
reset, email/password registration and other functionality that most
applications with user accounts require. It is a well-tested, widely used and
documented library.

This should decrease the barrier of entry to contribute to the project because
there is a high chance that the contributor is familiar with Devise. The
contributor will not have to worry about understanding how the homegrown
authentication works. If the user is not familiar with Devise, the README and
documentation surrounding it can help get them up to speed.

Those running Supermarket can trust that its authentication library is
maintained and secured.

Implementation notes:

* Replace require_valid_user! with authenticate_user!
* Use Devise's test helper to sign out users
* Redirect to Devise's sign in path
* Remove 3rd-party account registration.
* Add specs for the Accounts controller and document it.
* Wrap configure_permitted_parameters at 80 cols.
* Configure Devise's secret key.

This strips out OAuth authentication in favor of devise email/password authentication. Users are still able to connect their Twitter/GitHub account via OAuth they just aren't able to authenticate with it (for now).

Edit: @brettchalupa updated this with the description from the commit message.