Support parsing async functions and await expressions

This is essentially the same as https://github.com/ariya/esprima/pull/234, but I'm not sure when/if that PR will be merged.

Since `async`/`await` is an ES7 feature, it seems to fit with other distant-future and/or custom syntaxes (e.g. JSX) that have been implemented in `esprima-fb`.

If we merge this PR, then I can go ahead and merge https://github.com/facebook/regenerator/pull/101 without worrying about depending on my own fork of Esprima.

cc @jeffmo @zpao @lukehoban @arv @wycats
This [section of the spec](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-keywords) does claim that `yield` is a reserved word (i.e. can't be used as an identifier) but it doesn't say anything about `async` (yet) and `yield` is not reserved in V8/Chrome. I'll remove `async` and `await` from this `switch` statement, for now.