S: remove mutex from rate limiter
S: remove mutex from rate limiter

previously, while a resource was waiting for the reservation delay (i.e.
the limit was exceeded and this resource needs to wait), it holds a
mutex that prevents any other resource from attempting to grab a
reservation. this makes it hard to get a sense of the actual delay that
a resource must wait when debugging, since some of that delay is
consumed by awaiting the mutex.

removing the mutex also makes the code a bit simpler to reason about.

Signed-off-by: Aidan Oldershaw <30ef7a6e0d016bc846f26d89dacbd23aceded206@pivotal.io>

concourse/concourse,concourse/concourse,concourse/concourse,concourse/concourse,concourse/concourse