Minor tweak to free block handling: wait til we have accumulated and merged
all free blocks before throwing out ones that are too small (-F). There were a fair number of cases where a small free chunk was adjacent to a larger one and we were tossing out the smaller. This does increase the risk that we will run out of memory building the free list. If that happens, we can make an incremental cleanup pass.