Add context middleware

This wraps a handler so that it behaves like it is inside a
ServletContext, splitting :uri and filling in the :context and
:path-info fields in request. This will be used in to allow an option in
lein-ring so that 'lein ring server' behaves like a container.