Fix signed urls with keys that contain colons

The changes introduced by 3cda74fd4c32c81b8a9a8be392019c3226c5194a and 292a133d5117841f8c343bb423fc291725721cf0 break s3 keys with colons in their name.

Actually, the signed URLs that are generated are still valid. But the tricky thing is that the amazonEscape method changes colons into %3A for purposes of the signing calculation. Unfortunately, when you pass a URL like this back into anything that calls url.Parse (like http.Get), it converts all the %3A's back into colons and so amazon thinks the signature was calculated wrong. It's entirely possible other characters also suffer from this problem, I didn't check.

/cc @smira