Introduce Ops interface and MockOps for git operations, and ClientOps
interface with MockClient for GitHub API operations. This enables
command-level tests to inject mocks without changing production code.
- git.Ops interface wraps all 34 public git functions
- Package-level functions now delegate through a swappable ops variable
- SetOps()/CurrentOps() allow tests to inject MockOps
- github.ClientOps interface covers all Client methods
- MockClient provides configurable function-field test doubles
- All defaults return zero values; no-op for error returns
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>