Revert "Fix threading issue in CppUtils::findIncludePaths."

This workaround introduces potential deadlocks with the DUChainLock
which is acquired in many places before calling the findIncludePaths.

I'll have to find another fix for this, for now lets rollback to the
old racy behavior.

This reverts commit 8493390f36027b2d0db33eb30e0f7a42f76f3c34.
SVN_SILENT made messages (.desktop file)
SVN_SILENT made messages (.desktop file)
Support for default include path and definitions on CLang compiler.

When I compile Kdevelop using only in my Debian Testing Clang 3.4, the defaults include paths is not recognized. In the code I will see that the functions are only for GCC and MSVC, with this patch now with Clang are recognized both, the include paths, and standard definitions.

REVIEW: 117938
BUG: 314218
FIXED-IN: 4.7
Fixup missing clang compiler support in Qt4.

Clang does support initializer lists just fine. This fixes the
compilation of KDevelop with clang after commit 520869abe77fe7fa.
Kill the MissingIncludeCompletionModel and worker.

Most of its functionality was already copied in the CompletionContext.
Just removing it showed nearly no regressions in my tests. The stuff
that is required, I now added to other places to make it work.

Also, for the fun of it: Note how not only was the functionality
partially duplicated by the MissingIncludeModel and normal completion
context, no! The doSpecialProcessing method in the model was also
usually called twice, once via updateCompletionRange and once from
startWithExpression...

Additionally, I don't see the need for a special worker thread here
in the first place. Only if normal code completion fails do we want
the missing include completion items, no?

Since this code is not unit tested at all, please test this! I hope
I did not miss any magic functionality of the model...
Hack around the race condition in CppUtils::findIncludePaths.

This time, we ensure the DUChain is not locked while delegating
work to the foreground thread via the infamous ForegroundLock.

It seems to work. But I said that the last time as well, so please
test! Generally, this code is a mess and I'm desparately awaiting
the time where I can say: "Good riddance!" kdev-clang to the rescue!
Adapt to kdevplatform API changes
Fully adapt to kdevplatform API changes
Now IDM (Includes/Defines manager) provides all types of
includes/defines, not just user-specified.

REVIEW: 117836
Reparse the project when includes/defines change.

REVIEW: 118032
Add a template specific project name regex

Review 1174707 allows a project template to use a more specific regex for their project name validation.

This patch adds a template specific regex for all C++ templates that KDevelop provides. A C++ project can start now with a-Z or a '_'. After the first character, a-Z, 0-9 and '_' can be used.

REVIEW: 116978
Merge remote-tracking branch 'origin/master' into frameworks

Conflicts:
	CMakeLists.txt
	debuggers/gdb/printers/tests/CMakeLists.txt
	languages/cpp/CMakeLists.txt
	languages/cpp/codecompletion/missingincludemodel.cpp
	languages/cpp/codecompletion/missingincludemodel.h
	languages/plugins/custom-definesandincludes/definesandincludesmanager.cpp
	projectmanagers/cmake/CMakeLists.txt
	projectmanagers/custommake/CMakeLists.txt