Rename Rule/RuleClass.hasBinaryOutput to outputsToBindir

This is consistent with the naming of genrule.output_to_bindir (and the output_to_genfiles parameter of rule). hasBinaryOutput is also a confusing name because hasBinaryOutput can be true even if a target does not have an executable output, or even if it does not have _any_ output. This is commonly the case since Starlark-defined rules output to bin by default.

RELNOTES: None.
PiperOrigin-RevId: 374424142
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
index 3beb240..4ddd2fc 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
@@ -763,7 +763,7 @@
    */
   @Override
   public ArtifactRoot getBinOrGenfilesDirectory() {
-    return rule.hasBinaryOutput()
+    return rule.outputsToBindir()
         ? getConfiguration().getBinDirectory(getLabel().getRepository())
         : getConfiguration().getGenfilesDirectory(getLabel().getRepository());
   }