Implements a cache with least recently used cache replacement policy. Internally the state is tracked by a HashMap (for fast access) and a doubly linked list (for the access order). Signed-off-by: Christian Ebner <c.ebner@proxmox.com>