Fix MergerIterator

My previous merge broke larger than memory sorts due to an inverted condition in MergerIterator#prepNext().

Add test of a larger sorter, which spills to disk, and simplify/fix the implementation.

Sorry for the hassle -- yet again I learn that I should code and not test.