Performs decoding of URL percent-encoded characters on the given str.
Used by querystring.parse() and is generally not expected to be used directly.
It is exported primarily to allow application code to provide a replacement decoding implementation if necessary by assigning querystring.unescape to an alternative function.