A HashMap-like container which keeps track of node timestamps and can decay nodes by a timeout or a configured maximum number of nodes.
There are two classes of methods to enforce constraints:
- Immediate removal
- "Split" (the "removed" nodes are returned to the caller).