Allow middleware after response has been sent

For doing post-response processing, this seems useful since it allows easier separation of concern (see example below).

If not merged, would you have an idea on how to better solve this? Seems like it's actually an issue noted in the commit that added the check for sent headers: https://github.com/senchalabs/connect/commit/91edd0bac49a4ace1c9ad373c13617a2aaad2772

Not sure if this breaks BC. I don't think so, since it should *only* allow to call `next()` after a response has been ended whereas before, calling `next()` would throw.

Example use case would be something like this:
```javascript
var app = connect();

app.use(router);

app.use(function(req, res, next) {
    console.log('More things to do for each request/response.');
});
```