github-proxy: lock per token
Created by: tsenart
This commit makes github-proxy have on lock per GitHub token rather than one global lock for all users. This should address the blocking we started to see once the number of user added external services grew.
In addition to that, we now attempt to gracefully shutdown the http.Server for 5 seconds when receiving a signal to terminate.
Fixes #15751 (closed)