Campaigns background package the second
Created by: eseliger
Since I last time caused repo-updater to fail (closes https://github.com/sourcegraph/sourcegraph/issues/15128), this is the next attempt to do it.
- I added a background package (which needed some exports, not sure about those but I like the encapsulation of having a separate module here. Suggestions welcome)
- Moved most of our tasks to be goroutine background tasks again
- Added a dbworker.Resetter, which we were missing! This is the reason why you might've found some "forever processing changesets" in your local dev env, if you shut down during the reconciliation process.