Skip request unpacker outside prefix.
Bring prefix into the router.
Make the three request routing paths explicit.

Requests going through middleware and using Router are one of:

* inside the prefix (or none is supplied) and part of the schema
* inside the prefix (or none is supplied) and not part of the schema
* outside the prefix (when one is supplied)

This changes things up to make it easier to determine which one a
request is. Also adds a Middleware::Base#call which in turn calls
handle if the request is one of the first two kinds. Otherwise
it calls down the middleware stack without touching the request
or response.
Merge pull request #40 from dpiddy/skip-request-unpacker-outside-prefix

Middlewares only touch requests inside prefix