Track the comments preceeding each token without an intervening blank line.

These will be stored along with declaration and statement nodes in the
AST.
Add type declaration parsing.
Add the nilOr helper method for test matchers.
Add constant declaration parsing.
Add variable declaration parsing.
Fix constant and variable declaration printing.