initial generator support via co

to cure callback hell.

```js
app.use(function *(req, res, next){
  this.user = yield User.get;
  next();
})
```

100% backwards compatible. unlike [koa](https://github.com/koajs/koa), `next` is not wieldable. you still do `next()`, not `yield next`.