Validate params's keys for #initialize and #request
decode user and password as they'll be re-encoded later on; fixes issues with @ in usernames, for example.
Merge pull request #188 from kch/keys

key validation plus that credentials decoding bug