Added optional asyncawait support on top of esnext.

Seems to work, passes the test suite, works well with arrow function and classes. 

Configure like in the following:
```
"esnext": true
"experimental": ["asyncawait"]   or "experimental": ["asyncawait", "asyncreqawait"]
```

To try it:
```
npm install -g -f https://github.com/sebv/jshint/archive/esnextnext.tar.gz
```

EDIT updated options.
Because the left bit is optional, it's less code change this way, `async` and `generator` works in parallel (one being built on top of the other), they are either both there or missing. I agree it'll be better to pass an object.

The function parameter list issue is a preexisting issue which need to be tackled by the core team, cannot expect contribution to clean up this kind of thing, unless the goal of the the contribution is actually to do exactly that.