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.
We have named every single form partial as such since the beginning of class and it appears to be rather common practice outside of the class as well based on my reading so far.

It is the partial containing the form for users to input data regarding the repos. Hence, it's the form partial in the repos view.....just like with all of the other ones...? How is that convention confusing?