LRUCache

TODO: use hash and double list to implement the details. For now, it's
just a framework.