async/await passport-jwt custom handler
Hi,
I am using **koa-router** and **koa-passport** with **passport-jwt**. The problem is that every error thrown inside passport custom callback is not catched by parent middleware. Am I missing something or is this intended behaviour? Can you please provide example how this should work with async/await and koa2?

Best regards

``` javascript
privateRouter.get('/test', isAuthenticated, users.test)

async function authenticate(ctx, next) {
  await passport.authenticate('jwt', { session: false }, async(user, userInfo) => {
       await next() // when next middleware throws error it won't be catched by parent middleware
       throw new Error() // this won't be catched by parent middleware
  })(ctx, next)
}
```
