Document options for WebSocket()
Add client-side certificate support

Code is adapted from jnardone's branch + tests and documentation
Certificate fixtures are generated with the Makefile from the node source code
expose bufferedAmount
use bufferSize instead
Create test for instance state properties.
Add ready states to WebSocket instances.

Increase compliance with the WebSocket API:

http://www.w3.org/TR/2012/CR-websockets-20120920/#the-websocket-
interface
use Object.defineProperty
Autodetect ArrayBuffers as binary when sending.

Increase compliance with WebSocket API:
http://www.w3.org/TR/2012/CR-websockets-20120920/#dom-websocket-send

Add the type attribute to MessageEvent:
http://www.w3.org/TR/2012/CR-websockets-20120920/#handler-websocket-
onmessage
test bufferedAmount
check instanceof Buffer for binary data
test auto-detecting buffer as binary
Merge pull request #168 from arlolra/bufferedAmount

Expose bufferedAmount
Merge pull request #170 from BallBearing/states

Add ready states to WebSocket instances.
Merge pull request #164 from lukasberns/master

Client-side certificate support
Merge pull request #172 from arlolra/message

Autodetect ArrayBuffers as binary when sending.
sync to ws upstream