This is meant to replace KRun::runApplication/runService,
without the QWidget dependency, for most use cases. One exception:
applications who want to allow the user to make desktop files executable
(this requires messageboxes, and therefore is still in KRun).
The code is mostly based on KRun's internal KProcessRunner class,
now moved to KIOGui, but still private.
Next step: also routing KRun::runCommand via ProcessLauncherJob,
and then writing OpenUrlJob on top of ProcessLauncherJob (but
runUrl calling KOpenWithDialog is a problem in KIOGui...).