Add timeout to concurrency limiter middleware
The Gitaly concurrency limiter currently does not have a timeout. If concurrency is exceeded for a certain RPC/repo pair, we queue the request until either the client goes away or we acquire the lock.
This can lead to very high numbers of queued requests in extreme scenarios.
If we put a timeout on the lock acquisition we would have a natural pressure valve against such extreme events. The timeout could be, say, 1 minute.