housekeeping: Allow housekeeping to trigger operations based on independent thresholds
The housekeeping middleware currently uses a single RPC interval for all operations. This means pack-refs, repack-objects, prune, and commit-graph all run at the same frequency, even though pack-refs is lightweight and benefits from running more often on repositories with frequent reference updates.
This MR introduces per-operation interval configuration for housekeeping using SelectiveOptimizationStrategy which wraps HeuristicalOptimizationStrategy.
Issue: #6979
Edited by Sohan Dhanak