Comments & type annotations

Adds nodes for comments and for various type annotations

CC @jeffmo
I worry that this builder parameter list is just going to be clobbered when `def/es7.js` is included. How important is it for `returnType` and `typeParameters` to be in the parameter list, as opposed to getting assigned as properties after the node is created, given that they have reasonable defaults?

Another thought: you could have something like
```js
def("AnnotatedFunctionExpression")