Split up BazelRuleClassProvider into per-language modules.

Add a test to ensure each module is internally consistent / correctly declares
its dependencies.

This enforces a certain amount of rule set modularity, and may allow us to
move the rule modules to the rule packages in the future, which would very
much clean up the RuleClassProvider (which currently depends on everything and
the kitchen sink).

--
MOS_MIGRATED_REVID=136321762
diff --git a/src/test/java/com/google/devtools/build/lib/BUILD b/src/test/java/com/google/devtools/build/lib/BUILD
index 859e0a8..942d9a3 100644
--- a/src/test/java/com/google/devtools/build/lib/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/BUILD
@@ -962,6 +962,7 @@
         "//src/main/java/com/google/devtools/build/lib:build-base",
         "//src/main/java/com/google/devtools/build/lib:events",
         "//src/main/java/com/google/devtools/build/lib:java-compilation",
+        "//src/main/java/com/google/devtools/build/lib:packages-internal",
         "//src/main/java/com/google/devtools/build/lib:util",
         "//src/main/java/com/google/devtools/build/lib:vfs",
         "//src/main/java/com/google/devtools/build/lib/actions",