refactor: Clean up test infrastructure + improve test quality (#12074)
## Summary
Two sets of improvements to the Rust integration test suite.
### Shared helper refactoring (commit 1)
- Adds `turbo_command()`, `git()`, and `combined_output()` to
`common/mod.rs` — single source of truth for turbo binary configuration,
git operations, and output merging
- Migrates 10+ test files from local command builders to shared
`turbo_command()`
- Eliminates duplicate `replace_turbo_json` from `strict_env_vars.rs`
and `run_summary.rs`
- Refactors `check_json_output!` macro to use `turbo_command()`
internally
- Renames `walkdir` -> `find_files_by_name`, removes unnecessary
`_inner` wrappers
- Fixes duplicate doc comments in `setup.rs`
### Test quality improvements (commit 2)
- **Removes brittle hardcoded hashes** from `edit_turbo_json.rs`,
`run_caching.rs`, `run_logging.rs`. Tests now assert on hash
*relationships* (changed/unchanged) rather than exact hex values. Any
hash algorithm change no longer requires updating magic constants.
- **Eliminates `thread::sleep(1s)`** in `run_summary.rs` by sorting
summaries by cached count instead of relying on ksuid timestamp
ordering. This was a classic flake source.
- **Reduces `big_status_test` from 10,000 files to 100**. The test
proves filenames with spaces are handled correctly — it doesn't need to
stress-test I/O.
- **Adds meaningful assertion** to `test_single_package_dry_run_pnpm`
(was only checking exit code).
- Migrates remaining inline git commands in `run_caching.rs` to shared
`common::git()`.
22 files changed, ~250 lines removed.