Accumulator refactor:

Stores a single copy of each request from different sources.
Firewalls identical requests.
Implements time based eviction policy.
Tests.
No, if the request exists and the source is a new source then it's added to the pending_request.