feat: OAuth authentication to GitLab.com

Includes token refreshing.
11 jobs for !567 with 561-token-exchange-service in 8 minutes and 55 seconds (queued for 6 seconds)
merge request