Merge branch 'next'

* next:
  fix, PEBKAC, drop runs even if there's no more strat nodes
  chore, polish some diagnostics in utesort.c
  minor, use bitset (pgbs of struct sks_s) to determine whether or not to load_run() a page
  hygiene, refactor sorting routines to operate on struct sks_s objects
  fix, don't dump_runs() after successful sort run, step_run() would use drop_run() to do that for us
  minor, refactor the load_run()/drop_run() flow in step_run()
  fix, load new run before dropping out-of-tick pages
  chore, prevent short-circuiting from being optimised away by executing ...
  hygiene, add yet some more diagnostic output for drop_run()
  hygiene, add some more diagnostics to utesort routines
  major, only load pages that aren't already in the current run
  major, turn the all-way merge into a N-way merge with N obtained by the current node in the sort strategy
  miniscule, introduce `with' magic in nifty.h