Tweak escaping of param keys for signature, fix tag param keys

So first I had "tag[" where I should have had "tags[" - easy fix. Next I discovered that params.Encode() created a string that was the right thing for the actual request URL, but not right for the signature generation - CloudStack's expecting the parameter keys to still be unencoded, apparently. So I added a tweak to unencode the [ and ] characters for the string used to generate the signature, but not the string used for the actual URL.