Allow Push to be Authenticated by OAuth2 Token

Description

Similar to #18106 (moved), it would be nice to be able to authenticate a push using the oauth2 token. Right now the only remote git operations that can be authenticated using an oauth token are clone and fetch. This is a feature of both GitHub and Bitbucket.

Example

git remote -v
  origin    https://oauth2:xxxxxxxxxxxxxxxx@gitlab.com/<namespace>/<projectName>.git (fetch)
  origin    https://oauth2:xxxxxxxxxxxxxxxx@gitlab.com/<namespace>/<projectName>.git (push)

git push origin master
// successfully push having authenticated with the oauth2 token

Links / references

Similar feature request for gitlab-ci-token: https://gitlab.com/gitlab-org/gitlab-ce/issues/18106