reduce: remove more code blocks
Update cppcheck translations.
reduce: remove more stuff. unneeded #define , unneeded constructors, unneeded #ifndef etc
Fixed #4456 (std::string::compare(char const*) crash)
Tokenizer: add reportProgress to Tokenizer::simplifyKnownVariables. Ticket: #4409
tools/reduce: improvements to make it possible to reduce code that hangs
tools/reduce: remove cast in function parameter
Fixed #4409 (Cppcheck 1.58 dev hangs when checking mhz.c of lmbench3 (attached code))
Match compiler: Compile Token::findsimplematch() calls

Disabled for now as it runs slowers than before.
tools/reduce: Remove unused variable detected by cppcheck

[reduce.cpp:475]: (style) Variable 'decl' is assigned a value that is never used.
Remove reduce tool in 'make clean'
Add reduce tool to .gitignore
Use more Effective C++ code style in Token class:

1)The non-const version of Token::tokAt and Token::linkAt now will use a combination of const_cast and static_cast to remove duplicate code.
2)The non-const versions of Token::find(simple)match are added, in order to avoid the usage of const_cast outside the Token code.
3)As a consequence of 2), an useless const_cast applied to a call of Token::findsimplematch in Tokenizer code is removed.
Match compiler: Add support for Token::findmatch

(still disabled for performance reasons)
Match compiler: Check varid on first use like Token::Match does
Use more Effective C++ code style in SymbolDatabase class:

1)The SymbolDatabase::findScope code is moved to the const-version. The non-const version is reimplemented as the combination with const_cast and static_cast.
2)Unrelated: change style of the declaration of some functions (the '*' is moved near the function name).