Scanner finally working right. Right?

Changed Scanner to save tokens when they are created in getNextToken, to
avoid losing them through peek().
skipComments recursively strips any comments before checking the input
stream.
Everything else seems to work, the problem is our BODY1, BODY rules
don't seem to have a way to know a new DEF is starting, their first set
is the same as EXPR, which can be the start of a BODY.