Configure middlewares

So, I'm back with another pull request that would help #337, #333 and #294

With this it's now possible to specify extra middlewares to add onto testem server from the configuration.

There are two types of middlewares

1. plain middlewares, `function (req, res) {}` or `function (req, res, next) {}`. These are added before any other testem middleware (for greater extensibility)
2. [error handlers](http://expressjs.com/guide.html#error-handling) `function (err, req, res, next) {}` which are added last to catch all errors

Passing middlewares is only possible when using testem as module, I have no idea on how to deal with the command line...