[lldb] Don't crash on a .gnu_debuglink section without a file name (#228116)
A `.gnu_debuglink` section names the separate file that holds a binary's
debug info. When the section is empty, lldb crashes while loading the
binary, in both the `PECOFF` and `ELF` readers. `llvm-objcopy
--only-keep-debug` produces exactly such a section when it runs on a
binary that already has a debug link.
On Windows CI this crashes `TestSwiftSplitDebug` in `1/10` runs.
An empty or unterminated name is now treated as no debug link. New yaml
tests for both formats crash without the fix and pass with it.