Allow collecting coverage for go_binary executed as child process (#4461) **What type of PR is this?** feature **What does this PR do? Why is it needed?** Adds a shim to go_binary when built in coverage mode to collect coverage info. Useful for integration testing. **Other notes for review** Added integration test Manual testing: ``` bazel coverage foo:all --cache_test_results=no --instrument_test_targets --instrumentation_filter=//... --combined_report=lcov genhtml -o coverage_html /private/var/tmp/_bazel_dzbarsky/2c76d2042b2c36d4458efe14b865e618/execroot/io_bazel_rules_go/bazel-out/darwin_arm64-fastbuild/testlogs/foo/foo_test/coverage.dat && open coverage_html/index.html ``` <img width="968" height="320" alt="image" src="https://github.com/user-attachments/assets/b2b7ef3e-bd8f-46ff-9fa8-66581b735f24" /> <img width="669" height="286" alt="image" src="https://github.com/user-attachments/assets/55b24983-67b4-490a-b9ec-85dfef76470c" /> Fixes https://github.com/bazel-contrib/rules_go/issues/3513