ProgramRunner was using garbage data instead of correctly using the path to the current executable directory.
main
`main` is not in all cases a dynamically exported symbol, therefore, it's not safe to rely on it. This commit switches to use `PathList`'s `getCurrentExecutableFullPath`, which reads `/proc/self/exe`.
The ProgramRunner will be used by revng-pipeline to invoke the external linker to operate on object file stored on disk.