batches: retry changeset spec upload by default
Created by: LawnGnome
Fixes https://github.com/sourcegraph/sourcegraph/issues/30431.
This only adds retries to changeset spec upload — although the original ticket also mentions batch spec upload, I'm honestly less concerned about that. Let's deal with the n upload case before the +1 upload case.
There's a little bit of plumbing here to handle the retries, which I think is mostly uninteresting.
Test plan
I've added new unit tests to cover the retrier, CreateChangesetSpec
, and tested this quickly by hand to ensure the overall commands still operate.