Fixed wrong content length when request body contains non-ascii characters

Content-Length is bytes and not necessarily string length. Using Buffer.byteLength(string) will always be correct. Ref stackoveflow question http://stackoverflow.com/questions/18692580/node-js-post-causes-error-socket-hang-up-code-econnreset