Use Buffer.byteLength instead of string length for Content-Length header

This prevents Content-Length mismatches when sending multi-byte characters and potential socket hang ups.

See https://groups.google.com/forum/?fromgroups=#!topic/nodejs/LAxACfj5_KI.

http://stackoverflow.com/questions/18692580/node-js-post-causes-error-socket-hang-up-code-econnreset