Allowed initalizing vals and vars with expressions.
Cleaned up function invocation
Made assign allow assignments to expressions (todo: L-Values) and made IfStmt take expressions as an operand.
Updated spec to conform to current IL.
Implemented most of conversion.