getProtectedImageURL violated the paradigm

It urlencoded the parts of the link which violates the rules that things
stay un-encoded internally and are encoded as needed when output.