Upgrade everything!

What started out as an attempt to upgrade gRPC has snowballed into this monster...

* Upgrades gRPC to the latest version, including the Java bindings from `grpc-java`
  * `grpc-java` actually specifies [Maven overrides](https://github.com/bazelbuild/bazel-central-registry/blob/353b485c6cd965062cced0d40496b70e606e2dbe/modules/grpc-java/1.66.0/MODULE.bazel#L88-L201), causing rules_jvm_external's references to `io.grpc.*` and `com.google.protobuf.*` to alias to actual Bazel build targets in `@grpc-java` and `@protobuf`. So this effectively means we're no longer using the gRPC jars from Maven
  * To support these overrides, our custom patch for `rules_jvm_external` had to be updated to include the `alias` targets in the `BUILD.vendor` file.
* The upgrade to gRPC means we now use the latest googleapis from BCR
  * This means we can remove the vendored copy of those protos. Updated all references to googleapis protos across the codebase.
* The upgrade to gRPC means we now use the latest version of protobuf
  * This ran into some trouble with the concurrent work to move Bazel's proto rules into protobuf, which means that we currently have to use the protobuf version from HEAD.
  * We also have to patch out protobuf's dependency on rules_rust, as it introduces a lot of dependency bloat and makes it impossible to build a bootstrap distribution archive
  * The dependency on upb is completely removed.

Fixes https://github.com/bazelbuild/bazel/issues/22719

Closes #23767.

PiperOrigin-RevId: 681163732
Change-Id: Ifd7476833f61c40483850a6a825f79537ffad74a
diff --git a/.bazelrc b/.bazelrc
index 65621b8..42e209c 100644
--- a/.bazelrc
+++ b/.bazelrc
@@ -1,5 +1,6 @@
 common --enable_platform_specific_config
 common --incompatible_use_plus_in_repo_names
+common --experimental_google_legacy_api # needed by protobuf
 
 # Shared configuration flags to build and test Bazel on RBE.
 build:remote_shared --remote_instance_name=projects/bazel-untrusted/instances/default_instance