Port plugins loading to KPluginLoader
The ark plugins are now ported to the new KPluingLoader loading mechanism. The main advantage is that we now save a call to the Syscoca service trader, since the plugins are installed in a private 'kerfuffle' subdirectory of the system plugins folder. In order to be found by KPluginLoader, a plugin has to embed its metadata defined in a .json file. We convert the existing .desktop files to .json at build time, when possible. Otherwise we use directly .json metadata files (e.g. for clirar or cliunarchiver). The libarchive plugin had to be split in two different plugins, one for the read-only mimetypes and another one for the read-write ones. This is because the old plugin was using two .desktop files, but the new plugins can only embed a single .json file. For more details, see task T923 on phabricator.
Showing with 1263 additions and 1035 deletions