Added LruCache class implementing a least-recently used cache