operations: Use structured errors in UserDeleteBranch
UserDeleteBranch is returning successfully in some error cases. This is
a pattern we want to get rid of, so let's convert the RPC to instead use
the structured errors via the new UserDeleteBranchError
message type.
This fixes some cases where we know to create replication jobs because
the UserDeleteBranch
RPC returns successfully, but didn't cast a
single vote.
Changelog: fixed
Part of #4212 (closed).
Edited by Patrick Steinhardt