Made check_expr support funcall, currently have no functions to try it out with.
Partly implemented check_expr for lambdas.
Made all the cases of check_expr be explicit.
Made field_access ast types actually hold the lhs expression.
Moved check_expr_funcall to its own function.
Moved check_expr_lambda to its own function.
Made lambda expression var shadowing be checked.