Fetch users by GitHub ID instead of username

This will also update the username if the user was renamed on GitHub.
Update user's repositories when username changes
Fetch user from GitHub by ID when creating