Support koa style middleware

[koa](http://koajs.com/) is become more and more popular, it's time to support the new style middlewares.

* Use old test codes to test koa changes
* Keep koa usage just like express, only one more `options.koa = true`

Because `node 0.10.x` don't support `--harmony`, current unit test only pass on `node 0.11.x`.

`$ npm run test-express`: only test express
`$ npm run test-koa`: only test koa
`$ npm test`: test express and koa both