VR's auto_bisect.py was originally meant to be a temporary solution for performance bisections until Pinpoint was ready for VR use. However, with the recent addition of support for binary size regressions and the request to support functional regressions (e.g. crashing on startup), it's clear that there will be uses for it even after we switch to Pinpoint for perf regressions.
Thus, we should refactor the mess of flags in a monolithic file into separate modules that can be combined to easily allow for different types of bisects.