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

This prevents Content-Length mismatches when sending multi-byte characters.

See https://groups.google.com/forum/?fromgroups=#!topic/nodejs/LAxACfj5_KI.
Merge pull request #213 from joshisa/master

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