Added some basic AST expressions and codegen.
Updated all uses of IR::Exp to take pointers to const. Both IR and AST expressions are meant to be immutable.