Make the FileArtifactvalue of generated targets available via the FilesetOutputSymlink whenever available.

In this change I'm simply plumbing the FileArtifactValue we requested within RecursiveFilesystemTraversalFunction to the FilesetOutputSymlink.

This does not work when the targets are output directories (or symlink to output dirs). The main scenarios this happens is when:
1. Fileset depends on the output dir created by a genrule.
2. Fileset depends on a GoAppengineBinary which creates an output dir.
3. Fileset depends on another Fileset in the non-recommended way (Fileset.entry.files = [<another_fileset>]) instead of the recommended way (FilesetEntry.srcdir = <another_fileset>).

RELNOTES: None
PiperOrigin-RevId: 204209612
diff --git a/src/test/java/com/google/devtools/build/lib/exec/SpawnInputExpanderTest.java b/src/test/java/com/google/devtools/build/lib/exec/SpawnInputExpanderTest.java
index 67be7fa..e21fdbb 100644
--- a/src/test/java/com/google/devtools/build/lib/exec/SpawnInputExpanderTest.java
+++ b/src/test/java/com/google/devtools/build/lib/exec/SpawnInputExpanderTest.java
@@ -271,7 +271,8 @@
   }
 
   private FilesetOutputSymlink filesetSymlink(String from, String to) {
-    return new FilesetOutputSymlink(PathFragment.create(from), PathFragment.create(to));
+    return FilesetOutputSymlink.createForTesting(
+        PathFragment.create(from), PathFragment.create(to));
   }
 
   private ImmutableMap<PathFragment, ImmutableList<FilesetOutputSymlink>> simpleFilesetManifest() {