revert to stepping through object cache in 10 chronological passes

It looks like the previous code was accidentally commited and probably
had unintended affects.  This more-or-less reverts to an earlier version
that passes through the cache 10 times with each pass looking at more
newly retrieved objects.

This also fixes an issue where the last chunk of serials was skipped.
add is_prunable
add is_weakened
add is_strengthened
use is_prunable

Note that weakened objects no longer get targetted on first pass
(regardless of __get_serial).
filter out objects from report that won't be prunable