whitespace
Don't check if the cache is full when resetting a cursor if a transaction is running.  The transaction will keep pages pinned anyway, it's better to let it commit, then there will be more pages available for eviction.
Improve the filtering of LRU pages: always take at least 10% of candidates, and use the adjusted read generation when calculating cutoffs.
Only try to merge pages if there is a chance of success (that is, only if we see 3 split-merge pages in a row while walking the file).  Also fix a bug in __merge_unlock: only try to descend through internal pages.