Refactor StandardGitCommand to accept Executor dependency
## Description
`StandardGitCommand` currently uses the global `run.PrepareCmd` to execute git commands. It should instead accept an `Executor` (from `cmdutils`) as a dependency, which would:
- Eliminate the global `PrepareCmd` coupling
- Enable CLI-level testing without shelling out to real git
- Align with the existing `Factory.Executor()` pattern
## Proposed approach
`StandardGitCommand` (or a replacement) should take an `Executor` in its constructor. `Factory.GitRunner()` would wire it up using `Factory.Executor()`.
## References
- Suggested by @timofurrer in !1832: https://gitlab.com/gitlab-org/cli/-/merge_requests/1832#note_3273732828
issue