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
Rename formalParameterList and formalParamters to parameterList

This is to have more consistency in the parse tress.
Fix outputting ES6 module import
Merge pull request #921 from vojtajina/fix-output-es6-module-import

Fix outputting ES6 module import
Merge pull request #920 from arv/rename-formal-parameter-list-property

Rename formalParameterList and formalParamters to parameterList
Update Promise implementation to match V8 ToT
Async Functions: Wrap await expression in resolve

Promise.cast is now Promise.resolve
Add Promise A+ tests

This adds the Promise A+ tests from domenic / promise-tests using
npm promises-aplus-tests.

The test is run using `make test-promise`
Merge branch 'master' of https://github.com/google/traceur-compiler into hash-collections

Conflicts:
	bin/traceur.js