Fix loss of the least recently added element

It happens when a existing key value is updated in a
dictionary that maxed out its capacity.
Introduce LRU behavior guarantees

 In the event of maxed out capacity new records will push
 away the least recently used elements.