Allow tests to take a `schema_url_prefix`

This is for cases where a schema isn't mapped at a URL root. We should 
probably get this working for the middlewares as well, but they're a little
more flexible in that they can usually be mounted from within a
`Rack::URLMap` and not see a path change.