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.
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.
revert: commit f6da9d4e3c2f889be5202b1cbcc159ec3ff9a37b
 "testcmdlineparser: comment out unused functions fileListStdin(), ignorepaths{1-4}(), ignorefilepaths{1,2}()"
instead suppress the files.
also suppress unused variable in test/testpreprocessor.cpp
travis: check the repo with cppcheck after building gui.
value flow: fixed fp when checking symboldatabase
value flow: fixed fp when self-checking checkbool.cpp. added some comments.
value flow: fix fp when gotos are used
doxygen: added info about value flow to main page
Merge pull request #210 from matthiaskrgr/travis

travis: rewrite config file.
value flow: fixed crash reported in #5343 when typeStartToken and typeEndToken are misplaced.