More mangling of the lexer and parser to deal with comments and context
passing.

I'm going to try to get the parser to parse meaningfully first then add
context preservation.  Comments will be handled by noting their position
in the input file and requiring the unparser to emit them as it passes
them while unspooling the AST.  Trying to carry comments through the AST
is much messier than just carrying source span extents.