Added binary support to socket.io

This is a squash of about 25 commits, and here is a summary:

adamreis added initial binary test with the doge image.

kevin-roark updated binary tests and wrote some binary encoding protocol.

kevin-roark replaced the custom binary encoding with msgpack because we
have to handle arbitrary json that contains binary.

adamreis added some 'crazy' tests for emmiting and receiving events with
several types of data.

kevin-roark updated client.js to use socket.io-protocol's async encoding

Did a bunch of upstream merging.
anonymous function style correct
merged binary with upstream's new chat app
updated engine and -parser dependencies
updated socket.io-client dependency
Merge pull request #1426 from brishin/binary

Binary