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.