Allow overriding GITHUB_REF via BAZELCI_GITHUB_REF in bazel-testing (#2878)

Allow overriding the CI script branch/ref (`GITHUB_REF`) via the
`BAZELCI_GITHUB_REF` environment variable when running in the
`bazel-testing` Buildkite organization (`THIS_IS_TESTING == True`).

### Motivation
Currently, pipelines in `bazel-testing` share a single `testing` branch
in `bazelbuild/continuous-integration` (`get_ci_script_ref()` falls back
to `"testing"` whenever `BUILDKITE_REPO` is not
`bazelbuild/continuous-integration`). When multiple engineers test CI
changes concurrently, pushing to `testing` risks overwriting in-flight
experiments.

### Summary of Changes
- **`buildkite/bazelci.py` (`get_ci_script_ref`)**: Check
`os.environ.get("BAZELCI_GITHUB_REF")` when `THIS_IS_TESTING` is `True`
(matching existing testing override conventions like
`BAZELCI_AGENT_REPO` and `BAZELCI_AGENT_VERSION`). Production and
trusted orgs (`THIS_IS_TESTING == False`) continue to unconditionally
return `"master"`.
- **`buildkite/culprit_finder.py`**: Use `bazelci.GITHUB_REF` when
constructing `SCRIPT_URL` so `culprit_finder.py` also respects
`BAZELCI_GITHUB_REF` (consistent with `bcr_presubmit.py` and
`bcr_compatibility.py`).
- **`buildkite/bazelci_test.py` (`GetCiScriptRefTest`)**: Add unit tests
verifying that `BAZELCI_GITHUB_REF` overrides the script ref in
`bazel-testing` and is ignored when `THIS_IS_TESTING` is `False`.
3 files changed