Remove the distinction between visible and non-visible aspects in AspectCollection.

This has not been used in the code since unknown commit. I don't claim I understood this completely when I authored that change, but it turns out that the distinction wasn't necessary in the first place.

AspectFunction can have incoming dependencies in two ways: first, when traversing down the configured target graph, second, when traversing the graph of aspects attached to a single configured target.

In the first case, for reasons of consistency, if another aspect is visible on the configured target attached the aspect is attached to (in the "target" argument of ctx), it should also be visible on the direct dependencies, too.

In the second case, When multiple aspects are attached to a configured target and an outer aspect is not interested in an inner one, they are already filtered out when the AspectCollection is computed when traversing down the configured target graph.

The test cases that needed to be updated were those when AspectCollection has a different set of propagated and visible aspects, which is not possible anymore.

Also update comments with the newly acquired knowledge.

RELNOTES: None.
PiperOrigin-RevId: 338235579
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BUILD b/src/main/java/com/google/devtools/build/lib/analysis/BUILD
index 3176356..1b80335 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/analysis/BUILD
@@ -517,6 +517,7 @@
     deps = [
         "//src/main/java/com/google/devtools/build/lib/concurrent",
         "//src/main/java/com/google/devtools/build/lib/packages",
+        "//third_party:auto_value",
         "//third_party:guava",
     ],
 )