fix(cache): restoration symlink (#7633)
### Description
Fix for secondary problem discovered in #7410
Again, reading the docs for
[`Entry::link_name`](https://docs.rs/tar/latest/tar/struct.Entry.html#method.link_name)
it is recommended against using a header as it might have an
incomplete/differing link name from the actual entry. `restore_symlink`
already uses this method over accessing the link name via the header so
it doesn't need to be updated.
### Testing Instructions
Added failing unit test in first commit. The test adds a symlink to a
directory with a long path that gets restored before the target has been
restored. This results in us hitting the
`topologically_restore_symlinks` codepath which contained the bug.
Also tested against updates to
https://github.com/trappar/turbo-cache-missing-output-files which also
trigger this behavior.
Closes TURBO-2539