Comments & type annotations

Adds nodes for comments and for various type annotations

CC @jeffmo
Where would you prefer them? They're not in the spider monkey AST, but esprima does produce these when `{comment: true}` is set. I think a few other non-standard things (like the Property node) from esprima are also in core.js, and comments are part of the core JS language.