Introduce LRU behavior guarantees

In the event of maxed out capacity new records will push away the least recently used elements. An element is considered to be used if it is updated, or if is read while being unexpired.