Make it possible to define plugin dependencies by name.

To do so, define a X-KDevelop-IRequired entry in the plugin's
.desktop file with the contents "interface@pluginname", e.g.:

X-KDevelop-IRequired=org.kdevelop.IBasicVersionControl@kdevgit

In this case, only the kdevgit plugin is checked for the given
IBasicVersionControl interface.

The advantage here is that this way, the depdendency is also properly
tracked when trying to unload a plugin.

CCMAIL: kdevelop-devel@kde.org
CCBUG: 336948
Detect more common Qt runtime warnings

This time for QObject::connect
json tests: Be able to test CMD::isAbstract

Boiler plate code, *cough*.
ProblemReporter: Improve appearance of the list
ProblemReporter: ProblemWidget -> ProblemTreeView

Immediately indicates it is inheriting from QTreeView
ProblemTreeView: Minor API cleanups

Make sure we never pass an invalid model to ProblemTreeView
Problem::sourceString: Fix strings
Properly highlight enumeration identifiers
vcsdiffpatchsources: Fix potential crashes

BUG: 334128
FIXED-IN: 4.7
Merge remote-tracking branch 'origin/1.7'