Allow runtime change of the segments-to-merge calculation

The default calculation which determines the segments to merge is
easily skewed since it relies on the mean average.  This especially
hurts given automatic compaction is driven solely by buffer rollovers,
thus guarenteeing skew (because the new segments will always be much
smaller than old segments).

This change will allow a user to change the calculating function at
runtime.  This could be useful in production, allowing the ability to
swap in more agressive algorithms temporarily to help free up disk
space and memory.