Multibyte characters on chunk boundaries get corrupted.

test/specs/utils/isX.spec.js
var utils = require('../../../lib/utils');
var Stream = require('stream');
describe('utils::isX', function () {
  it('should validate Array', function () {
    expect(utils.isArray([])).toEqual(true);
    expect(utils.isArray({length: 5})).toEqual(false);
  });
  it('should validate Buffer', function () {
    expect(utils.isBuffer(Buffer.from('a'))).toEqual(true);
    expect(utils.isBuffer(null)).toEqual(false);
    expect(utils.isBuffer(undefined)).toEqual(false);
  });
  it('should validate ArrayBuffer', function () {
    expect(utils.isArrayBuffer(new ArrayBuffer(2))).toEqual(true);
    expect(utils.isArrayBuffer({})).toEqual(false);
  });
  it('should validate ArrayBufferView', function () {
    expect(utils.isArrayBufferView(new DataView(new ArrayBuffer(2)))).toEqual(true);
  });
  it('should validate FormData', function () {
    expect(utils.isFormData(new FormData())).toEqual(true);
  });
  it('should validate Blob', function () {
    expect(utils.isBlob(new Blob())).toEqual(true);
  });
  it('should validate String', function () {
    expect(utils.isString('')).toEqual(true);
    expect(utils.isString({toString: function () { return ''; }})).toEqual(false);
  });