auth: ask for private scope on demand for GitHub and Gitlab
Created by: asdine
This modifies the GitHub and Gitlab auth flow on dotcom by asking for additional scopes if the current user has the AllowUserExternalServicePrivate
tag.
It also reduce the default scope for Gitlab so that it only asks for public repos if the user doesn't have the AllowUserExternalServicePrivate
tag.