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