Diffusion KIO 24020c55a9b2

Make sure the program exists and is executable before we inject…

Authored by dfaure on May 17 2020, 2:15 PM.

Description

Make sure the program exists and is executable before we inject kioexec/kdesu/etc.

This consolidates all the logic for finding the executable at the
beginning of DesktopExecParser, rather than half in DesktopExecParser
(too late, after injecting kioexec into the command) and half in
KProcessRunner (which means other DesktopExecParser users didn't benefit
from it, and we had to guess what happened in DesktopExecParser)

This fixes applicationlauncherjobtest's regression after
commit 6452a34cf01d03d3167b38bc28a2fe8e13569021.