Search backend: add PartialJob
Created by: camdencheek
This adds PartialJob to the internal/search/job package. The goal of this type is to represent partially constructed jobs in the type system. Right now, the only time we do something like this is with the repo pager job, but the goal is to use this when converting more predicates to just be normal jobs.
Test plan
Integration tests + unit tests. Should be semantics-preserving, just a change in type encoding. Checked that traces still display information the same.