Optimization in KDE Base
Treat UID substituting KCMs as external apps
When a KCM desktop file has set:
Systemsettings now handles it as if it were an external application.
Rationale for this is that there are some KCMs that still require
to be run as root for whatever reason. While those KCMs should
really provide an externalapp desktop file and not be KCMs to
begin with, they would have to have two identical desktop files
(except for X-KDE-ServiceTypes and X-KDE-ParentApp) which does
not seem worthwhile. Instead whenever substitution is defined
we treat them as if they were actual external apps.
Also this change, along with the KRun change to externalapps,
now allows distributions to drop their X-KDE-RootOnly patches
and simply use X-KDE-SubstituteUID.