Fix tracker item 3227 by supporting LLVM / clang as an option.

While fixing this, I found and fixed a few other issues with CCGS and RunCellML.cpp that meant it leaked memory.