Fixed #5330 (Add _exit() to Tokenizer::IsScopeNoReturn)
Fixed #5331 (std.cfg: 'isalpha' is misspelled)
Fix the C4800 warnings.
Fix the C4099 warning.
ast: fixed handling of templates
travis: rewrite config file.

Uses CXXFLAGS -O2 instead of default flags to speed up self checking.

Testing is done with the following settings:

1) gcc    CXXFLAGS=-O2
2) gcc    CXXFLAGS=-O2  SRCDIR=build VERIFY=1
3) gcc    CXXFLAGS=-O2  MAKEFLAGS="HAVE_RULES=yes"
4) gcc    CXXFLAGS=-O2  SRCDIR=build VERIFY=1  MAKEFLAGS="HAVE_RULES=yes"
5) clang  CXXFLAGS=-O2
6) clang  CXXFLAGS=-O2  SRCDIR=build VERIFY=1
7) clang  CXXFLAGS=-O2  MAKEFLAGS="HAVE_RULES=yes"
8) clang  CXXFLAGS=-O2  SRCDIR=build VERIFY=1  MAKEFLAGS="HAVE_RULES=yes"

Changes made to before_install:
installe libpcre3

Changes made to script:
* make and make test are now called seperately
* cppcheck also checks "build" folder (created by SRCDIR=build) if existing.
* gui is built twice, one time with HAVE_RULES=yes as qmake argument and one time without it.
* a script has been added and run which returns false if cppcheck --showtime=top5 does not return 7 lines indicating that something is broken
travis: use suppression list to suppress warnings.
testsymboldatabase: run symboldatabase32, probably someone forgot to implement this.
testbool: same for checkComparisonOfBoolWithBool
testsuite: according to cppcheck, the function printTests() is not used, remove it.
testsuite: remove function todoAssert() which is unused according to cppcheck.
testcmdlineparser: comment out unused functions fileListStdin(), ignorepaths{1-4}(), ignorefilepaths{1,2}()
travis: also check "test" directory while ignoring test.cxx
travis: check cfg files with xmllint.
travis: fail if Makefile is not up to date (check via dmake).
travis: let cppcheck check most of the repo, but suppress files/warnings that we don't care about via suppression file.