Decode pathInfo before passing to services

Allows spaces in file names.

Requires trickery to force parse error to occur in context of service.

Convert ServerRequest into a prototype constructor instead of a closure
constructor.

Fixes #103