Handle UTF characters in chunked bodies.

When reading a chunked body, the session was assuming the response to have one character per byte read from the socket. With ruby 2.0, this is no longer the case, and UTF characters consisting of more than 1 byte would cause the session to yield an incorrect buffer. For instance a part including a UTF rune consisting of two bytes would cause the yielded buffer to include the carriage return from the chunked transfer format.