Refactoring Harness

Refactoring means restructuring code without changing its semantics. We also want to ensure that the performance isn't affected.

For refactoring the compiler toolkit, we consider the wrapper CCPretty, which reads a C File and pretty prints the AST to an output file. Before refactoring, we run CCPretty on all files of a given configuration. After refactoring, we run CCPretty again, and compare the resulting files using diff.