Async functions

This implements ES7 async functions

https://github.com/lukehoban/ecmascript-asyncawait

```js
async function concat(a, b) {
  return await load(a) + await load(b);
}
```

This is covered by the option, `asyncFunctions`. The old option, `deferredFunctions` is deprecated and will log a warning.

Review URL: https://github.com/google/traceur-compiler/pull/905

Closes #905.
0.0.33
Cleanup errback and Promise.cast
Add test for promise cast
Merge pull request #912 from arv/async-throw-state

Simplify async throw state
FindVisitor: Remove usage of try/catch for program flow.

Instead, override visitAny to do nothing if the condition was found
already.
Merge pull request #913 from arv/visitor

FindVisitor: Remove usage of try/catch for program flow.
Have SetAccessor use FormalParameterList

Added test in `test/feature/TypeAssertions/ClassParams.js` demonstrates
the #894 issue, which is fixed by this change.

I believe this is the right fix, instead of another solution proposed in #897. SetAccessor has parameterList (FormalParameterList) and therefore
annotations on SetAccessor can be transformed in the same way as
annotations on any regular function.

This change also removes the FormalParameter -> FormalParameterList
transformation in ObjectLiteralTransformer.

Fixes #894
Closes #917, #897
Merge pull request #919 from vojtajina/set-accesor-formal-parameter-list

Have SetAccessor use FormalParameterList