Support permessage-deflate extension

This PR adds [the permessage-deflate extension](https://tools.ietf.org/html/draft-ietf-hybi-permessage-compression-19) support to the module including the following features:

* Extension parameters (widow bits, no context takeover for both client and server)
* Configurations of extension parameters and `memLevel` (zlib)
* Enable extension by default
* All test cases of [Autobahn Testsuite](http://autobahn.ws/testsuite/) pass including WebSocket Compression

Things not included in the PR:

* `x-webkit-frame-deflate` (which Safari supports)
* Comprehensive architecture to add extensions flexibly

If these features also are required, I'm ready to add them.

Related: https://github.com/einaros/ws/issues/34, https://github.com/Automattic/socket.io/issues/1148