Support key names with unicode chars

The integration test shows the issue.  There were two issues:

* We weren't quoting the url when there was a unicode char so we
  couldn't create objects with unicode chars.
* We were using response.text instead of response.content.  The .text
  property in requests will attempt to guess the encoding if there's
  no explicit encoding provided, and it was guessing iso-something-something.
  Using the .content attribute gives
  you the raw byte string, and the relevant parsers get the default
  'utf-8' encoding.