Prevented catching/wrapping of InterruptedExceptions, especially in BaseFunction.

--
MOS_MIGRATED_REVID=102988766
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 0cfb114..74616c9 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
@@ -1082,7 +1082,8 @@
    * Returns the implicit output artifact for a given template function. If multiple or no artifacts
    * can be found as a result of the template, an exception is thrown.
    */
-  public Artifact getImplicitOutputArtifact(ImplicitOutputsFunction function) {
+  public Artifact getImplicitOutputArtifact(ImplicitOutputsFunction function)
+      throws InterruptedException {
     Iterable<String> result;
     try {
       result = function.getImplicitOutputs(RawAttributeMapper.of(rule));