Work-in-progress intermediate code generator.

Still lots of work to do to replace all of the execute/evaluate functions
from the old model with the make_intermediate_form method instead.
Arguments a first-class AST node type, and intermediate code generation for calls.
Intermediate code generation for IfStmt
Fix infinite loop when looking up a symbol.
Intermediate code generation for WhileStmt.
Intermediate code generation for function declarations.
C code generation for some of the intermediate representation classes.