Per RFC3986's requirement, we decode the query string, plus the '+' -> ' ' conversion. We also assume the source string before percent-encoded is a UTF-8 string, so we decode it as well. Related bug: https://bugs.launchpad.net/marconi/+bug/1237591