DW:
- This fixes an ugly and probably old bug with hot objects. Previously,
storeSwapOut was too aggressive in freeing lower parts of in-memory
objects. It would free up to how ever much was sent to the client,
or how much had been saved to disk, whichever was lower. When the
object response is complete, it is saved in memory only if mem->inmem_lo
was equal to zero. Thus, many objects which could potentially be
held in memory wouldn't be, because the lower part had been freed
in storeSwapOut.
This change doesn't free the lower part until the hi-lo gap is
at least DISK_PAGE_SIZE (8192 bytes). This means that in-memory
hot objects should mostly be 8kb or less. This change makes a
very significant improvement in memory hit ratio.