Adds support for batching requests.

@bradoyler Previously, route-cache would allow a big burst of requests to flow into the handler, resulting in a bunch of identical calls to hbs render. This change lets the first one slip in, and batches up each subsequent request until the render completes. As soon as the render is complete, the queued up batch of requests is drained. From the moment the request comes back, a new cache value should be available, which prevents new requests from getting queued up while the queue is drained. So far, I have seen about ~280% increase in requests per second.