Plugin architecture for middleware

Similar to the existing `requestStart`, `requestBeforeRoute`, etc.
give the application a chance to disable/replace
each middleware that Kraken uses by implementing
`reviewMiddleware(slots)`

For instance, to remove the favicon middleware
put this in the application's index.js:
```
app.reviewMiddleware = function reviewMiddleware(middleware) {
    delete middleware.favicon;
};
```

This covers my use case in a more general way
than #47 ("Configurable favicon in config/middleware.json")
and also covers #41 ("add config session able or disable")
so I propose it as a fix for #50 ("Plugin Architecture for Middleware").