Ticket #5816: Skip typename in template arguments for enum initializers.
Merge pull request #310 from simartin/ticket_5816

Ticket #5816: Skip typename in template arguments for enum initializers.
re-enable tests in testnullpointer
#5811 false postive: (error) Null pointer dereference
Fix regression from first attempt fixing #5811 (9dce9bddcbbddb252653367f0e39a4c77108f5eb)
Partially rewritten AST compilation:
 - More straightforward approach for handling right-to-left associativity
 - More straightforward approach to handling unary operators
 - Improved handling of brackets

This fixes #5784, #5795, #5797, #5799, #5810 and a bunch of other problems
Refactorization: Use AST in CheckOther::checkRedundantCopy(), CheckOther::clarifyStatement() and CheckPostfixOperator::postfixOperator().
Fixed crash when checking tinyxml introduced by previous commit
Don't complain "could not find or open any of the paths given." if no arguments were passed to cppcheck (and help was shown)
Refactorizations:
- Removed some duplicate nullpointer checks
- Simplified tok->link() on '<' usage.
Refactorizations:
- Simplified pattern ".|->" to "."
- Use nextArgument() where appropriate
Internal checking is now enabled by the macro CHECK_INTERNAL
Fixed messages of CheckInternal, fixed a false positive.
Make irc link point to the channel rather than to the freenode server
Fixed #5827 (Invalid token match patterns)
Bugfixes for AST and AST testing:
- Validate AST in test suite: Check for operand1 being set if operand2 is non-zero
- Fixed buggy unit tests in AST
- Fixed detection unary operator* after return statement (MPC-HC false positive)
Fixed some complaints of PVS Studio
Silenced travis errors (avoid false positive)
Fixed false positive "multiplySizeof" in TortoiseSVN
Fixed two bugs in AST compilation (#5830):
- Correctly parse operators .* and ->*
- Support empty branch in ternary expression (a?:c)