repo-updater: Make new scheduler conform to DisableAutoGitUpdates semantics
Created by: tsenart
This commit makes the new scheduler conform to the semantics of the
DisableAutoGitUpdates
configuration setting.
Every time either the configured scheduler or DisableAutoGitUpdates changes, we stop the previous scheduler and start the desired one with the correct configuration.
This code is unfortunately very hard to unit test as it stands and, after some attempts to refactor it, it became clear that I wouldn't be able to finish in time for cutting 3.0.
We'll be working to make all of repo-update more testable in the coming weeks and months, and this will certainly be addressed then.
Fixes #1982