Split dynamic configurations mode into:

 --experimental_dynamic_configs=off - don't use dynamic configs
 --experimental_dynamic_configs=on - use dynamic configs with trimmed fragments
 --experimental_dynamic_configs=notrim - use dynamic configs with all fragments

This lets us decouple two independent dimensions of dynamic configurations: 1) being able to trigger new configurations and transitions anywhere and 2) only including the fragments needed by a target's transitive closure.

2) is likely to take much more time and effort to properly finesse (three notable challenges: late-bound attributes, aspects, and dynamic shedding of output path names). But 1) by itself already yields significant benefits. So in the name of starting to shift the config work from backend theory to stuff real builds actually use, this change lets us focus on productionizing 1) without blocking on getting all of 2) working first.

tl;dr: iterable deployment and all that.

--
MOS_MIGRATED_REVID=133874661
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java b/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
index 98455b7..73642c5 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
@@ -1182,7 +1182,7 @@
     scratch.file("foo/BUILD",
         "sh_library(name='x', ",
         "        srcs=['x.sh'])");
-    useConfiguration("--experimental_dynamic_configs");
+    useConfiguration("--experimental_dynamic_configs=on");
     AnalysisResult res = update("//foo:x");
     ConfiguredTarget topLevelTarget = Iterables.getOnlyElement(res.getTargetsToBuild());
     assertThat(topLevelTarget.getConfiguration().getAllFragments().keySet()).containsExactly(
@@ -1199,7 +1199,7 @@
         "java_library(",
         "    name = 'javalib',",
         "    srcs = ['javalib.java'])");
-    useConfiguration("--experimental_dynamic_configs", "--experimental_disable_jvm");
+    useConfiguration("--experimental_dynamic_configs=on", "--experimental_disable_jvm");
     reporter.removeHandler(failFastHandler);
     try {
       update("//foo:ccbin");