Add support for Attica tags support

Authored by leinir on Oct 1 2018, 11:38 AM.

Description

Add support for Attica tags support

This is to add support for the new tags support in
Attica found in D6512, which is based on the proposal in
https://phabricator.kde.org/T6133 to add tags support
in the next version of OCS.

This introduces filtering which is applied onto any entry
before handing it to the framework user. Filters can be
set either via knsrc files, or through the Engine API. A
default filter is set to ensure that if the server
suggests certain items should not be shown, those entries
will be hidden from the user (this is already supported
by the KDE Store, and this ensures we support that in
our client side).

It further adds a test tool to more easily perform testing
on KNewStuff's functionality (originally based on the old
knewstuff2 tester, but now with more functionality, and
better visual feedback).

Finally, this fixes a binary compatibility issue caused
by the original version of this commit, see
293ae2448f54fd1b1f7cacc86cd40b30a3fb087d

Differential Revision: https://phabricator.kde.org/D6513
CCBUG: 398412
FEATURE: Tag filtering support for KNewStuff's OCS plugin, see https://phabricator.kde.org/T6133

Details