Added if then else expressions to module::Expr

Tests added to the parser, typechecker and vm are all passing.