Move the local patch UI into LocalPatchSource

This greatly simplifies the PatchReview interface. Local patches are
something to be reconsidered at the moment, anyway.
Disable the commit action when we're not reviewing
Make it possible to have the patch review in a vertical layout
Move the finish review action to the plugin instead of the toolview

It's quite a global action after all.
Don't try to create a new file if we're not in the "code mode".

It prevents creating of new files from debug and review modes. It
becomes very usefull especially in the debug mode when we're trying to
open a non existing file e.g. by double-clicking on a breakpoint.

REVIEW: 114775
Don't preselect a stack frame with debug info.

This is not required anymore as:
1. It didn't work properly anyway (showStepInSource signal was emitted
twice, which slowed fast code stepping dramatically).
2. We showed all local variables and registers as they were in that
stack frame not in the current one, which IMO is totally wrong.
3. Now we emit new showStepInDisassemble signal which indicates, that
there is no debug symbols/file available.
4. QtCreator does it the same way.
UsesWidget: Always properly escape code for HTML

Some parts of the (non-highlighted) code didn't show up / were distorted in case they
contained '<' and/or '>'
Don't use a mutex+volatile for abort-request variable, use QAtomicInt.

The atomic variable should have a lower overhead compared to locking
a mutex and then reading a volatile bool.
remove dead code
Don't crash when encountering null-declarations in JSON test suite
Add isStatic JSON test for class-member declarations.
GrepView: Iconify directory selector button
Use more appropriate name for QThread instance

Looks odd to have a thread named 'ParsingThread' show up in htop, that
basically has nothing to do with the actual source code parsing
Allow external scripts to execute on folders if using %d parameter

Currently external scripts can only be run on files.

This patch allows calling them from project view context menu on folders under the following condition:
- %d parameter is used
- file related parameters (%s, %u, %f, %b or %n) are not used

When calling the script in any other way nothing changes - the directory of the current file will be passed as %d parameter.

REVIEW: 114582
Fix Ctrl+B Shortcut (add bookmark) while Filesystem toolview is open

steps to reproduce the issue:
- open filesystem toolview
- focus editor and press Ctrl+B to add a bookmark
- watch errormessage "The key sequence 'Ctrl+B' is ambiguous..."

Ctrl+B is also used in the bookmark menu for Add Bookmark.

This patch fixes the problem by removing all shortcuts.

REVIEW: 113786
fixuifiles
Make it possible to click on cmake-automoc error

There's a change needed in outputfilteringstrategies to be able to click
on error items only containing an url (no line information).

It's still useful, even if we just have the url, imo.

REVIEW: 115014
Don't report about new tests when shutting down

Otherwise things that might be cleaning up could react to it, and it doesn't
really matter anymore.

BUG: 901394
Remove google sparse/dense hash code.

Replace the single place where it was used with a simple QSet.
Also cleanup the code, as this is not a hot-path thus the performance
is really not that important here.

Comparing before/after showed that DUContext::imports is roughly being
called 10k times when importing GammaRay as a project with a clean
cache. Parsing takes ca. 40s, of which 0.08s where spent in ::imports
with the old code. The new simpler QSet based variant takes ca. 0.1s
which is just as fine - esp. if we can get rid of so much code!

This cherry-pick was requested by FreeBSD packager rakuco.

(cherry picked from commit 64fe266b53a4655621609bd5bafeabbf76d10287)

Conflicts:
	language/duchain/ducontext.cpp
	language/duchain/ducontextdynamicdata.h
Merge branch '1.6'