Added code generation for various nodes.
Added codegen for IfExpr.

Added optimization where blocks now check the context's "resVar" field to see whether there is already a variable allocated to hold the result of a block, in which case that variable is reused. Code generated by If expressions looks very compact and optimized. Type information still lacking from C code.