Allow the apiserver to support raw URLs

Supports handling paths like "/foo/bar%2Fbaz", which Go 1.X does not
correctly handle according to RFC
(https://code.google.com/p/go/issues/detail?id=3659). A concrete case for
this is REST resources whose ID contains slashes which could include Docker
repository/registry names, URLs, and path segments.

Broken into three pieces for easier review.