Bring TestHttpServletRequest closer to spec.

We now expect proper URL patterns passed to whenMountedAt. (Though we
don't yet try to support suffix mapping, and we don't perform any
validation on the paths.)

We also now return null for pathInfo when we previously returned empty
strings.
Properly handle requests to the bare mounted path.

When the servlet is mounted at /foo/*, requests to /foo now succeed,
setting PATH_INFO to the empty string.
Merge pull request #5 from square/handle-null-path-info

Handle null PATH_INFO.