Support union type annotations in fb-esprima

Summary: These are pretty straightforward. Typescript wrote a good spec for
them here: https://github.com/Microsoft/TypeScript/issues/805

The one tricky thing that we don't currently have a way to parse is a type that
is function type A or function type B. You would need parens like

  (() => string) | (() => number)

or type aliasing like

  type A = () => string;
  type B = () => number;
  var x: A | B = ...;

Test Plan: npm test
Merge pull request #56 from gabelevi/fb-harmony-2

Support union type annotations in fb-esprima