Don't CGI encode header query values in the signature string

When constructing the signature string parameter, values that are valid to include in the string should not be CGI encoded (even though they should of course be encoded in the final request). See http://stackoverflow.com/a/12616647/1056941

Encoding breaks the ability to specify an attachment filename via

    ?response-content-disposition=attachment; filename=foo.txt

because the semicolon and space get encoded, which leads to a SignatureDoesNotMatch error. 

(Encoding was introduced in the changes made for 1.11; the above worked in 1.10.)
Merge pull request #1821 from ronen/patch-2

AWS S3 Invalid signature when using response-content-disposition=attachment with filename