Optimizer: apply identities
Move constant-making identities into constant folding
Generate C instead of C++
Rename CppCodeGenerator -> CCodeGenerator and similar classes
Test return statement C code generation
Normalize nodes and generalize Mul->Shl
Merge pull request #213 from Kha/identities

Optimizer: apply identities
Merge pull request #217 from jspam/072-c-backend

Generate C instead of C++
Split up optimizations in order to compare optimized with unoptimized code

Fix bug: x / 1 identity
Merge pull request #206 from Kha/fix-optimizeto

optimizeTo: Compare optimized with unoptimized code
Make sure expression statements that generate ctrl flow are wellformed

Also, check all graphs after construction. I've seen enough bugs in
there to want this in.
Update mj-test submodule
Merge pull request #222 from TehMillhouse/ctrlflow_leakage

Make sure expression statements that generate ctrl flow are wellformed
Manually mature all blocks
Merge pull request #225 from Kha/very-mature

Manually mature all blocks as soon as possible
"I didn't say to merge just yet!"
Fix 'it' in mjis.opt tests
Add generic DataFlowAnalysis and reimplement constant folding on top of it
Begin code generation implementation

Supports Add, Mul, Call, Return instructions
Make integration tests use the FIRM backend for now