Client-side certificate support

Modified [jnardone]'s pull request #124 with some tests and documentation.
Fixes issue #123

I also added some documentation for the options in ws.WebSocket(). Please let me know if I got something wrong there.

[jnardone]: https://github.com/jnardone