search: introduce Zoekt job and repo partitioning
Created by: rvantonder
This creates a Zoekt
backend job with a Run
method. It inlines a bunch of repo resolution/index/unindex and zoektSearch
logic and will let us remove a lot of other convoluted stuff. For simplicity I'm not removing existing things in this PR, and only putting the additive changes that gets us to the ideal state for this Zoekt job. I would add multiple commits to this PR but it's a lot of effort, so I'm doing it this way incrementally. This introduces an intermediate state of affairs, please see inline comments.
Test plan
Semantics-preserving, running backend tests.