Work in progress on re-introducing an incremental cache.

This approach is different than the original in that it will include the sorting index
as part of the cached value, resulting in higher memory usage but considerably
better performance (any cache hit will always result in an efficient walk
through a single skiplist).

In order to support conditional queries, which the previous approach didn't
have to consider, the implementation is rather different and the cache and
Query are more tightly coupled (through an interface, of course).

Completely not working, doesn't even compile.