Changed to having our own FnRequest type, which is a WAI
Request and the results of parsing the body for contents, since
we need to be able to do that once and thread it through.
Add file and files matchers, which match against and pass file
uploads to handlers.
Add staticServe to serve static files based on path.
Allow nested calls to route, by changing Request in
ctxt. This necesitated changing it so that the ctxt is passed
to handlers last, instead of first, because we need to have
completed matching before we can change the request.
Add anything route matcher that matches anything.
Add paramMany matcher that returns a list of values for the
given query param.
Change param to fail if more than one value is in query string.