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", "noawait"]
```

To try it:
```
npm install -g -f https://github.com/sebv/jshint/archive/esnextnext.tar.gz
```

EDIT updated options.
Actually this code is the same as above and is replicated 3 times. I've stayed away from doing this kind of refactoring until I got something working, because it would have mean refactoring code  unrelated to this particular feature, but It might be worth adding a commit on top of this to do that.