* Minor fixes/adjustments to ESTree
- Add `type: string` to base interface to allow only strings for `type` in any descendants.
- Change `UnaryExpression::prefix` to `true` (since it can never be false and is just a backwards compatibility artefact).
- Add absent / `null` as a valid `RegexpLiteral::value` (it's used by compliant parsers/tools when RegExp can't be natively represented).
- Make `Literal::raw` optional to allow creating nodes without one.
- Add missing `type` and location properties to `Comment` node.
* Update index.d.ts
Adds an optional `comments` field to the `Program`, which will be present
if the AST is created with Esprima using the `{ comments: true }` option.
Adds an optional `innerComments` field to `BlockStatement` which will be
present if the AST is created with Esprima using the `{ attachComments: true }`
option, given the following code:
```.js
function foo(n) {
// comments in an empty block are `innerComments`
}
```
Note that though these fields are not specified in the ESTree specification
they extend the support already present in this set of types for
`trailingComments` and `leadingComments`, which are also unspecified.