Use default encoding to calculate data length

The amount of received data is determined by finding the bytelength of a
received chunk. Buffer.byteLength works on strings, but the chunk is a
Buffer unless a steamEncoding option has been set.
Merge branch 'master' into compiled