- add SkipList.iterate and DtIndex.iterate: lazy range scans that let a
caller stop early without materializing the whole range
- add IndexManager.hasEq for O(1) equality-index membership checks that
avoid materializing the full posting list
- add MiniDb.tryDtOrderedLimit (with cheapEqChecks): for a query bounded
by a single dt column whose result order is that column, walk the dt
skiplist in order and stop at limit, pre-filtering cheap equality
predicates before decode; wire it into query()
- fix text-index tokenization overflowing the call stack on large docs by
loop-pushing instead of spreading the match array
- add bench/* benchmarks and tests for the fast path and skiplist iteration