test case 16, where a run is added beyond the end of a file, now behaves
differently. the discontinuity (gap) is now filled with a "not mapped"
run (before the preceding hole would have been extended).
Anton's bugfix applied and tested
minor code tidyups
loads more comments in runlist_{insert,append,split,replace}
test cases checked and updated where necessary
valgrind happy