There is no such thing as a "decoded URL" in the real world; part of the point
of URL encoding is to protect special characters in URL components from being
interpreted as component separators. For example,
svn+ssh://svn%2fuser@foo.bar/path should be interpreted as having a username
component of "svn/user" when decoded. If we "decode the whole URL", that fails.
Since we don't really expect cases like this, it's not really a big deal if we
use "decoded URLs" in our internal processing. But our API should be more careful.
svn_repos_get_commit_editor is only immediately obvious example of an API which
violates this property.