Cpp{Tools,Editor}: Expect UTF-8 encoded literals

Change-Id: I9843c4163aad3fa3f1bfa33060c76328fc2dc25a
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
qbs build: Only pass "-stdlib=libc++" to clang on Mac.

This is also what the Qt mkspecs do.
Otherwise we get linker errors on some installations
(where libc++abi is required).

Change-Id: I1f204da8825ae4dfd4650b921c8e3f32e0ad6380
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
qbs build: Simplify "ExternalTools" autotest project file.

Simply link to Core instead of duplicating all the files.
There is a warning on Windows because one translation unit
is present twice, but it seems to work anyway.

Change-Id: I6c5af590a6051f5c2d810d9449ff5410cf94e78a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Cpp{Tools,Editor}: Respect multi-QChar code points when handling identifiers

* Consolidate code dealing with C++ identifiers into cpptoolsreuse.h
* Handle code points that are represented with two QChars

Change-Id: I4fb4435aa539f65d88598cac0b50629f33f32440
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
C++: Add utf16 indices to Macro and Document::MacroUse

In most cases we need to work with the utf16 indices. Only in
cppfindreferences the byte interface is still needed since there we read
in files and work on a QByteArray to save memory.

Change-Id: I6ef6a93fc1875a8c9a305c075d51a9ca034c41bb
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>