refactor(tools/cppcheck): introduce build target for MISRA check

The CPPCheck was integrated to the build system but it was not inline
with other checkers in the system. This patch refactors the cppcheck
integration with the Cmake build system.

1. Corrected the issue that Cmake .dump files are created along with
   source files
2. Enabled the MISRA checks without have to copy the rules file at
   a particular location. The limitation being that the rule description
   will not be present in the error output.
3. Introduced separate build rules for regular CPPCheck and MISRA check.
4. Cleaned up the CPPCheck cmake file to remove unneeded sequences.
5. The output of CPPCheck is now aligned to gcc output format which
   makes it more readable for developers familiar with GCC output.
6. Added MISRA rule suppressions to match project expectations.
7. The cppcheck platform file `GNU.xml` is now renamed to a generic name as the file is not specific to GNU but common for aarch64 platforms.

The patch also moves static check build targets to `tools/` cmake file.

Signed-off-by: Soby Mathew <soby.mathew@arm.com>
Change-Id: I793e86c8238e7a5d39ef720ba3e0b22f51db648d
diff --git a/tools/cppcheck/misra.rules b/tools/cppcheck/misra.rules
new file mode 100644
index 0000000..8591d4d
--- /dev/null
+++ b/tools/cppcheck/misra.rules
@@ -0,0 +1,2 @@
+This is a place holder file for MISRA rules text.
+Refer to https://forum.misra.org.uk/thread-884.html for more info.