Port desktop file shortcut handling to KService
Using KService instead of KDesktopFile brings multiple benefits
It correctly merges contents of /usr/share/applications and .local/share/applications
It will make it easier to integrate with ApplicationLauncherJob and ApplicationTrader
We can use the KSycoca database and react to changes in it
To fully make use of this potential more patches are needed, this is just the base port that shouldn't change the behavior