treat all input scalars as wide characters.

there were some inconsistency where we treated the request body as wide characters
and encode them to UTF8 when converting to JSON, but other parts of the requsets
are not processed in the same fachsion.

Since it make sense not to let users of Elastijk always have to do encode_utf8() here
and there, we assume all scalars in the input to contain wide characters, and perfor
encode_utf8() within the library.

With 3 exceptions: host,port,method. Since it is unclear whether it'll introduce any
meaningful change to encode_utf8() them.