Support for chained mixins; automatically setup context.

Mixins now have the ability to call `.chain` on themselves to automatically inject all previous middleware in the chain (as well as existing properties on `this`). This allows for one to use the last entry in a mixin and not have to put in all the previous middlewares.

As a side-effect of this and to ensure a consistent API, the actual contextualization process is now also included in any middleware/mixin along the chain.

A dependency on `express-async` is introduced in order to keep the control-flow management out of this module.