batches: move fake source into a testing package
Created by: LawnGnome
This reduces the amount of testing code that we have in a normal release build. It's not really doing us any harm to have the fake changeset source and friends in the main sources
package, but with this change it never gets compiled in except in tests.
As ever, I only wish Go would let you depend on things in +test
files in other packages.
I also just realised the actual testing change in #37649 got accidentally moved into this PR when I split them, so we should probably get that in, even if we don't want the rest of the refactor.
Test plan
Mostly a testing change only, and the handful of mechanical changes caused by exporting GitserverPushConfig
are trivially verified by (a) the code building, and (b) the existing tests continuing to pass.