Emit extra-actions for actions registered by Aspects.
A prerequisite is to pass RuleContext to ConfiguredAspect, so we can read from it the registered actions when we build() the aspect.

--
MOS_MIGRATED_REVID=107997593
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java b/src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java
index 6a1fa38..fa134f2 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java
@@ -27,6 +27,7 @@
 import static com.google.devtools.build.lib.syntax.Type.STRING;
 import static com.google.devtools.build.lib.syntax.Type.STRING_LIST;
 
+import com.google.common.annotations.VisibleForTesting;
 import com.google.common.collect.ImmutableList;
 import com.google.devtools.build.lib.Constants;
 import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
@@ -77,7 +78,8 @@
   /**
    * Implementation for the :action_listener attribute.
    */
-  private static final LateBoundLabelList<BuildConfiguration> ACTION_LISTENER =
+  @VisibleForTesting
+  static final LateBoundLabelList<BuildConfiguration> ACTION_LISTENER =
       new LateBoundLabelList<BuildConfiguration>() {
     @Override
     public List<Label> getDefault(Rule rule, BuildConfiguration configuration) {