Amend type annotation fields to core node types in fb-harmony.js

This is likely to change a bit in the future (the flow parser doesn't use the exact same AST structure as what esprima-fb has right at the moment), but for now we need to understand these fields so we can build out a Recast transform that strips Flow type annotations
The third argument to the `.field` method is an optional function that will be called by `types.getFieldValue(node, "typeAnnotation")` when `typeof node.typeAnnotation === "undefined"`. The `types.getFieldValue` function is used by `types.eachField`, among other things. See https://github.com/benjamn/ast-types/blob/master/lib/types.js#L230-L238.

I would still make the type of the `typeAnnotation` field `or(def("TypeAnnotation"), null)` with default function `defaults["null"]`. In the parser, simply don't add that field to the node when it should be `null`. For those consumers who care, the default function will substitute `null` for the missing field (i.e. anyone using `types.getFieldValue`).