limithandler: Return ResourceExhausted GRPC code for queue limits
When the concurrency queue has reached its limit, Gitaly should return a non-retryable error to the client. gRPC's ResourceExhausted indicates the system is under-resourced and that the request should not be retried at will.
Also add a structured error return type so the client has some context as to why things went wrong.
note: these are not actually in use anywhere yet so they are safe to change.
Changelog: changed
Edited by John Cai