Update GitHub user details on sign in

The `User.create_or_update_from_github_user` method was finding and
returning existing users without updating them.

Now after a user authenticates with GitHub, any changes to their
username, full name or gravatar since their last visit are applied.