add functions for getting expression type
clean up some warnings
make symbol table in code gen only for the current function, rather than hold all of them
further work on expression generation, including boolean expressions and short circuiting
clean up getting and recording temp vals
add function call expression intermediate generation