Remove IfThenElse and Loops from ForwardTransformer
Codegen specific lowerings

There is a single codegen specific lowering, which is run by the
CCodegen.

LoweringTransform contains a transformer called CCodegenLowering.  The
CCodegen will run any transformations registered on this before
emitting the source code.

The downside is that the IR of every single trait that extends
CNestedCodegen has to extend LoweringTransform.

make_tuple2 makes use of this.