Prepare for middleware

Mostly a collection of little tweaks to facilitate eventual middleware.

The goal with `combohandler#respond` is to provide a way to allow middleware to do stuff to the array of file contents, instead of having to deal with the joined array. Basically, moving the join (if res.body is an array) into the new `respond` middleware. Also, the duplication of the route-ending callback all over the examples and tests was bugging me.

I'm using the pull requests for ease of code review, but I'll probably just merge this one immediately. Subsequent PRs with a request for comment will happen with the more substantial middleware changes.