Fixed #5890 - crash: wesnoth desktop_util.cpp / unicode.hpp.
Fixed #5885 - fsanitize=undefined: signed integer overflow: 2147483647 + 1 cannot be represented in type 'int' in lib/tokenize.cpp.
MathLib: Added missing testcase for incdec.
Fixed timer name
Moved getSourceFilePath(), isC() and isCPP() from Tokenizer to TokenList

Conflicts:
	lib/tokenize.cpp
Tokenizer::tokenize() can now be called without AST being created
Simplify rValue reference arguments without name (&& -> & &)
Fixes for test suite, added a TODO unit test about bad typedef simplification
Fixed lots of bugs in the AST:
- Support new and delete
- Properly handle "..."
- References and rValue references as function parameters
- Destructor definitions
Fixed VS warnings
Attempt to fix travis and some more VS warnings
travis: replace kernel check with clang check.

Check clang instead of kernel, which is a lot faster.
Make clang check failure fatal to the build.
travis: run test_matchcompiler.py
travis: move CHECK_INTERNAL check up, remove "SRCDIR=build VERIFY=1" job in favor of "MAKEFLAGS="HAVE_RULES=yes" SRCDIR=build VERIFY=1"
travis: add -DCHECK_INTERNAL to the VERIFY=1 job to automatically fetch issues like #5869 via travis
travis: run cppcheck with --exception-handling where it matters.