Merge pull request #22 from nnutter/master

Associate join labels only with QueryPlans instead of also with Joins
remove commented code
remove unused label
remove unused code
%data_source_for_class doesn't need to be checked

%data_source_for_class doesn't need to be checked because
%classes_to_prune is built up from it.
%classes_to_prune is not even needed

%classes_to_prune was counting objects removed for each class but was
never used so just use %data_source_for_class instead.
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.
add is_prunable
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
extract body of prune_object_cache for alternate use case
add test case for prune_object_cache_between
add docs for prune_object_cache_between