Basic Github Integration

I highly recommend a complete db drop, create, migrate, seed cycle after merging/pulling down this pull request. I changed and implemented so much crap with this branch that I honestly don't remember it all, but you can follow it through the commit messages below as they're usually pretty good about being descriptive of what was done. 

Some highlights:
* Users can link their user account with their github account
* Users can login to app using their github account via omniauth once linked
* Break out github info into separate db table for github_profiles
* Implement handling of webhooks from github for pull requests and issues
* Creates new assignments from a new github issue being opened on a repo that is added to a cohort
* Creates a new answer from a pull request that is opened on a repo that is added to a cohort if it uses id tag
* Updates breadcrumbs to be more dynamically built
* Cleans up lots of code throughout, but also adds quit a bit of smelly code as well

Some of the code isn't the cleanest and is in serious need of cleaning. Especially around the views.
This is the form for adding repos to a cohort. We had to allow adding a repo to a cohort so that when issues come in via webhooks it can create a new assignment and properly associate that assignment with the correct cohort.