Github login

Support github login.

- [x] Handle entirely new users signing up with GH
- [x] Handle existing, signed in, users linking their GH account
- [x] Handle cases where the username already exists.
- [ ] Don't show 'link github' button if account is already linked.

Points for discussion:

- is every use case covered here? For example, people with different usernames on Github and JS Bin.
- currently, if the user is found but not signed in, the info bar is used to notify the user. This is not obvious to the user, but right now the error flash info doesn't seem to go anywhere.