Refactor the custom defines and includes plugin.

The compiler provider is not a plugin anymore, but a library that
is used in multiple places. In KF5, when the KCM is also not a
plugin anymore, we can merge all three together into one single
plugin .so.

For now, this move already simplifies the logic tremendously and
removes a lot of boilerplate code that was required to access
the CompilerProvider/SettingsManager from various places.

Note that the distinction between CompilerProvider and SettingsManager
is also pretty artificial. I plan to merge the two classes together
and futher clean up the code then. There is a one-to-one relation ship
after all between these two classes.

In addition to the above, I cleaned up the code wherever I noticed
any opportunity for that. There are probably more places for that.

CCMAIL: kalinichev.so.0@gmail.com
Use debugfull configuration whenever it is available.

Esp. with newer FindKDE4Internal.cmake files this configuration is
also available for Clang and required there. As soon as any function
gets inlined, our unit tests would fail otherwise...
Revert "Use debugfull configuration whenever it is available."

Apparently this is unsupported, see:
http://public.kitware.com/Bug/view.php?id=14634

This reverts commit 56044bcbe5b0e9e19fd83995563e31fdd4cde222.
Use the add_debuggable_executable macro everywhere its required.

Apparently that is more reliable than setting CMAKE_BUILD_TYPE
in a subfolder. See also:

http://public.kitware.com/Bug/view.php?id=14634
Minor code cleanup
Fix regressions introduced by recent refactoring.

Fixup signal connection to use fully qualified ID.
Take correct type out of variant.
Reduce QVariant usage.
Make compile for me
Fix environment-cd for paths containing spaces.

Problem: GDBMI only accepts paths containing spaces if they are in
double quotes otherwise cd will fail.

Solution: Add prepend and append double quotes to the dir string
instead of using KShell::quoteArg.

REVIEW: 121061
BUG: 339231
SVN_SILENT made messages (.desktop file)
Hack: Check what's wrong with the CI...
KF5: Remove references of K_EXPORT_PLUGIN

No longer needed
Revert "PVS V595 fixes"

This is not safe.

Just ran into a crash where parentContext() returned null in context.cpp

This reverts commit 7b1e61c8bb196ebf3702efca978e8c861e01aa03.

Conflicts:
	languages/cpp/cppparsejob.cpp
languages/cpp: Port to qCWarning
use ki18n_wrap_ui for ki18n based system
REVIEW:121189
Don't access dangling pointer

'project' was already deleted at that point
Fix test in combination with GCC 4.9.1 and -O2

Actually we're relying on undefined behavior in the tests, because
accessing `p->foo` is undefined since the lifetime of `p` has already
ended.
Added project name to debug Stop job.
Enable output from the default logging category.

This way we can use qDebug for printf debugging again and don't
need to tamper with the logging filters.
Don't crash when getting a change signal without any active tool.

This happens esp. initially when there are no tools configured.