batches: Refactor caching to get rid of execution cache results altogether
Created by: eseliger
This PR cleans up the caching mess that I left behind after the refactors for SSBC to get rid of execution results. We now finally don't have a distinction between the two at all. There are simply step results and if the step is the last step to execute, we are done and build the changeset specs from it. Additionally, we save a few passes to parse git diffs and such, which is always nice.
Accompanied by https://github.com/sourcegraph/sourcegraph/pull/38311
Test plan
Rely on test suite which is (except renames and some caching number tweaks) untouched and manually verified everything still works.