Add an allowSlash parameter to the PathEncoder.Encode method (default va...

...lue: false) that allows callers to allow the '/' character to be passed through un-encoded. Add corresponding unit tests to verify the new functionality. Update URL creation for Tree/Blob/Raw to pass allowSlash=true so the {*encodedPath} portion of the route will look more like the directory structure of the repository (ex: "Blob/master/dir1/dir2/file").