Fix mess with CURL::Decode and CURL::Encode

CURL has two overloads for Encode() and Decode(): for CStdString argument and for std::string argument.
This should be fine, but overloads have totally different behavior: CStdString version modified reference in place and return void while std::string version use const ref for argument and return modified string.
This can confuse anyone and leads to hardly discoverable errors like this: https://github.com/xbmc/xbmc/commit/5dc310eb2dd6bee1207cd29b1ce4a7eb5cf57fff#diff-656dceee8727b0777668ecbfd17f76fbR131 - after archiveName type changed to std::string, archiveName stop being encoded.
This PR fix this error and stop overloading functions with different behavior to prevent such errors in future.