removing dead code from the parser
adding defer statement parsing support.
enable -Wall, remove a bunch of dead code
typechecking for defer statements (but they just evaluate eagerly).
implementation of defer statement
this handles normal structured control flow,
breaks and gotos are currently broken when used with defer statements.
correct handling of defer statements across break and goto expressions.