Refactor CliInterface
CliInterface is refactored to be more simple. A new class CliProperties
is added which holds all the commands, switches and regex's for the cli
executables. Alot of code is moved from CliInterface to the new class.
Two new member variables are added to ReadOnlyArchiveInterface of types
QMimeType and KPluginMetaData. These are passed to CliProperties which
it uses to call ArchiveFormat::fromMetadata() so it can check archive
format properties.
The KPluginMetaData is passed from Archive to ReadOnlyArchiveInterface
as the second item in the args QVariantList.
CompressionMethods provided in the plugin json files was changed from a
QStringList to a QVariantMap so it can hold pairs of values: One user-
visible string and one value for the cli-switch.
Differential Revision: D3235