Fix crash when loading an external app KCM like yast
This re-instates the use of KService as a first-class citizen in KCModuleInfo, apparently needed for non-plugins.
A unittest ensures that the very basic use of service() on such a desktop file doesn't crash.
Edited by Ahmad Samir