Accumulator refactor:

Stores a single copy of each request from different sources.
Firewalls identical requests.
Implements time based eviction policy.
Tests.
Elsewhere we've been creating random `NodeId`s by doing `NodeId{RandomString(NodeId::kSize)}`.