Add an algorithm to reduce aspect paths according to aspects' visibility to each other.

Aspects negotiate their visibility by advertizing and requiring
providers.
The algorithm is not used yet (that is future work).

--
PiperOrigin-RevId: 147354682
MOS_MIGRATED_REVID=147354682
diff --git a/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java b/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java
index 47f4662..a305e51 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java
@@ -225,6 +225,10 @@
     }
   }
 
+  public static Builder builder(AspectClass aspectClass) {
+    return new Builder(aspectClass);
+  }
+
   /**
    * Builder class for {@link AspectDefinition}.
    */