Add LRU eviction

Adds a reaper that runs in a separate thread and performs evictions based on last access time.