GitHub OAuth Integration

We still needed a way to authenticate users who are managing the app. Since we are going to be pulling lots of information from Github anyway, we should use it's authentication strategy too!

- [x] Write specs for the `SessionsController`
- [x] Manual test to login and logoff from Github
- [x] Keep the oauth token in session for future Github API integration.
- [x] Extract as much login from controller into focus command objects and unit test them