Add alternative interface for LIPO data transitions, opt in native rules.

This removes the need for ConfigurationTransitionProxy.DATA by providing a
way for the C++ rule defs to directly inject the transition for all rules
to use.

Skylark attributes work differently, so they'll be addressed in another
change.

PiperOrigin-RevId: 183721293
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java b/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
index c73e136..744430f 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
@@ -1201,6 +1201,7 @@
             ImmutableList.of(),
             targetConfig,
             configurations.getHostConfiguration(),
+            ruleClassProvider.getLipoDataTransition(),
             ruleClassProvider.getPrerequisiteValidator(),
             ((Rule) target).getRuleClassObject().getConfigurationFragmentPolicy())
         .setVisibility(