Add GitHub as an extra auth provider

Unlike some of the other providers, scope is not necessary for getting the user information. With GitHub, the user information we need is public. Also, GitHub provides a location, but not a locale, so we are unable to set the country flag using GitHub info.

* Added test project for extra providers