update rules for pclint, compiler, cppcheck

- improved readability for pclint rules
- add missing rules for compiler, cppcheck
update cxx model
remove tech. debt for cppcheckError
fix typo in pc-lint rule name
support CppCheck 1.67
Report Issues instead of Violations.

Use of 'Violation' class is deprecated since Sonar 3.6, and replaced with Issue; Context.saveViolation is replaced by Issuable.

This also allows properly counting the issues, i.e. accounting for disable rules and switched off violations.
Add a metric for dependencies violations.
Merge pull request #286 from Bertk/Update-rules-and-model

Update rules and model
Add line of include in cyclic dependency violation.
Create violation when the same file is explicitly included twice.
Enable memoization to improve parsing speed.
Merge pull request #299 from Typz/memoization

Enable memoization to improve parsing speed.
Merge pull request #292 from Typz/violations

Improve dependencies violations
Ignore C++ keywords when parsing C files.

C files sometimes use reserved C++ keywords, and thus cannot be parsed directly.
The usual solution is to create macros manually (in sonar.cxx.defines) to replace them with non-reserved keywords. This however
does not work for mixed C/C++ projects.

To overcome this, this patch lets the plugin automatically add the macros depending on the type of the file. The plugin also resets
the __cplusplus macro according to the type of the file.