Added Blob binary support

Along with tests to prove it.

socket.io-protocol commit 3e561290ce393c01b087de7340162268caf36f0f
documents the required changes from sync encoding to async encoding
in manager.js

package.json updates to a newer version of has-binarydata (for Blobs)
and a dev dependency to create binary data.

new tests test ArrayBuffer and Blobs across the sockets.

Tests in zuul passed on everything except IE 9 it seems. I blame my slow
connection at the airport, but worth looking into...