Extension negotiation rewrite
- Introduces a completely rewritten extensions negotiator with accompanying unit tests.
- Adds support for x-webkit-deflate-frame extension for Safari browsers (old, deprecated draft apparently still in use by Safari).
- Significantly more relaxed extension negotiation allowing the client to request certain features we rejected before.
- Fixes a bug where using a non-256KB DEDICATED_COMPRESSOR while getting server_no_context_takeover from client would result in an invalid negotiation (leading to corrupt data sent/received).
- Checked with Autobahn and passing every test.