Update for OmniAuth

Fixes included in this request:
* Support for multiple authentications
* Support for removing authentications
* Authentications limited to one account per source (e.g. only one GitHub account allowed)
* Helper method for redirect after external authentication
* More tests
* Minor refactoring

Pivotal Tracker: https://www.pivotaltracker.com/story/show/64520644