Encoding Corrections
- UTF8 is not always the encoding so take those cases into account.
- Cached requests were om-nom-nomming the content-type header's charset= parameter.
- Also added the character set to the cachekey because some optimized APIs will return UTF32 for logographic languages and UTF8 for latin-alphabet characters.