split out invocation of cppcheck and clang-analyzer into subprocesses

Move invoke_cppcheck() and invoke_clang_analyzer() from fakegcc.py
into their own scripts, invoking them to report the analysis file as
XML to a specific path.

Handle any kind of failure within these subprocesses by capturing
stdout, stderr and the returncode, and creating an analysis file describing
the failure.