Feature/log hints

Keep track of pointers(hints) to some hot entries in order to minimize disk seeks and data reads. Use a cache eviction policy of removing every tenth hint so we can somewhat uniformly and minimally increase disk seeks with usage in order to maintain a fixed size cache. In other words, when we reach a maximum number of hints we delete 10% of them.