Simplify RuleClassProvider; it kept two identical lists for no purpose.

Also update HelpCommand to output the configuration options in the hmtl
output.

--
MOS_MIGRATED_REVID=125570665
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java
index be01445..a0ed7a4 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java
@@ -24,7 +24,6 @@
 import com.google.common.collect.ImmutableBiMap;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Lists;
 import com.google.devtools.build.lib.analysis.buildinfo.BuildInfoFactory;
 import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
 import com.google.devtools.build.lib.analysis.config.BuildOptions;
@@ -106,7 +105,6 @@
     private ImmutableMap<String, Object> skylarkAccessibleTopLevels = ImmutableMap.of();
     private ImmutableList.Builder<Class<?>> skylarkModules =
         ImmutableList.<Class<?>>builder().addAll(SkylarkModules.MODULES);
-    private final List<Class<? extends FragmentOptions>> buildOptions = Lists.newArrayList();
     private ImmutableBiMap<String, Class<? extends TransitiveInfoProvider>>
         registeredSkylarkProviders = ImmutableBiMap.of();
  
@@ -130,11 +128,6 @@
       return this;
     }
 
-    public Builder addBuildOptions(Collection<Class<? extends FragmentOptions>> optionsClasses) {
-      buildOptions.addAll(optionsClasses);
-      return this;
-    }
-
     public Builder setRunfilesPrefix(String runfilesPrefix) {
       this.runfilesPrefix = runfilesPrefix;
       return this;
@@ -176,6 +169,12 @@
       return this;
     }
 
+    public Builder addConfigurationOptions(
+        Collection<Class<? extends FragmentOptions>> optionsClasses) {
+      this.configurationOptions.addAll(optionsClasses);
+      return this;
+    }
+
     public Builder addConfigurationFragment(ConfigurationFragmentFactory factory) {
       configurationFragments.add(factory);
       return this;
@@ -288,7 +287,6 @@
           prerequisiteValidator,
           skylarkAccessibleTopLevels,
           skylarkModules.build(),
-          buildOptions,
           registeredSkylarkProviders);
     }
 
@@ -387,8 +385,6 @@
 
   private final Environment.Frame globals;
 
-  private final List<Class<? extends FragmentOptions>> buildOptions;
-  
   private final ImmutableBiMap<String, Class<? extends TransitiveInfoProvider>>
       registeredSkylarkProviders;
 
@@ -409,7 +405,6 @@
       PrerequisiteValidator prerequisiteValidator,
       ImmutableMap<String, Object> skylarkAccessibleJavaClasses,
       ImmutableList<Class<?>> skylarkModules,
-      List<Class<? extends FragmentOptions>> buildOptions,
       ImmutableBiMap<String, Class<? extends TransitiveInfoProvider>> registeredSkylarkProviders) {
     this.preludeLabel = preludeLabel;
     this.runfilesPrefix = runfilesPrefix;
@@ -426,7 +421,6 @@
     this.universalFragment = universalFragment;
     this.prerequisiteValidator = prerequisiteValidator;
     this.globals = createGlobals(skylarkAccessibleJavaClasses, skylarkModules);
-    this.buildOptions = buildOptions;
     this.registeredSkylarkProviders = registeredSkylarkProviders;
   }
 
@@ -522,10 +516,6 @@
         BuildOptions.of(configurationOptions, optionsProvider));
   }
 
-  public ImmutableList<Class<? extends FragmentOptions>> getOptionFragments() {
-    return ImmutableList.copyOf(buildOptions);
-  }
-
   /**
    * Returns a map that indicates which keys in structs returned by skylark rules should be
    * interpreted as native TransitiveInfoProvider instances of type (map value).