Add initial LFU

~~Still needs LfuMap and docs.~~

I implemented the LFU this way so that the *oldest* of the least frequently used gets evicted first. I experimented locally and using a heap it was easy to create a situation where a recently added item would get evicted almost immediately upon adding another.