Minor: Consistent method naming
OutputView: Reduce some code duplication
Introduce NativeAppErrorFilteringStrategy

It's now possible to jump to runtime output error messages, such as
those from Qt:

Example (clickable) message:
ASSERT: "errors().isEmpty()" in file /tmp/foo/bar.cpp, line 49

BUG: 329953
REVIEW: 115533
Do not emit warnings when starting a new KDevelop session.

Since we always created the directory before checking whether it
needs to be cleared up, we always ended up calling kWarning with
confusing messages. It also made it impossible to use something
like QT_FATAL_WARNINGS in unit tests which always use temporary
sessions.
Share common code for file paths to serialized topducontext data.
Get rid of s_temporaryDataMutex.

We already have our BKL in place, no need for another level of mutex here.
Share code between partial data loading functions.

Lambdas are pretty helpful in this context imo.