feat(http): support coalescing http requests

To enable this, configure the HttpConfig module with a coalescing
duration.  Doing so will enable all HTTP responses that arrive within
that interval to all be processed in a single digest.  Typically, this
is most helpful if you have many XHRs that are all going to be satisfied
by cached responses causing them to happen in quick succession.

e.g. Use something like this to configure a 50ms interval.

    bind(HttpConfig, toValue: new HttpConfig(
        coalesceDuration: new Duration(milliseconds: 50)));