Declare GoArchive in rule provider declarations (#4638)
**What type of PR is this?**
Bug fix
**What does this PR do? Why is it needed?**
`go_binary`, `go_library`, and `go_test` return `GoArchive`, but their
rule declarations did not consistently list `GoArchive` in `provides`.
Bazel therefore skipped aspects that use `required_providers =
[GoArchive]` before running the aspect implementation. Declare
`GoArchive` for all three rules and add analysis tests that verify the
aspect runs for each rule.
**Which issues(s) does this PR fix?**
Fixes #4612
**Other notes for review**
Validated with `bazel test --jobs=4 //tests/core/starlark:all` and
`bazel test --jobs=4 //tests:buildifier_test`.
4 files changed