SocketIO/EngineIO: Move modules from Protocols to Web.
Added #pragma dynamic_dot
Revert EngineIO and SocketIO from 8.0 for now.
EngineIO: use new WebSocket extension API
Protocols.EngineIO: Fixed one more compilation error.
Protocols.EngineIO: Fixed compilation error.
Some Pike-doc fixes.
WebSocket/EngineIO/SocketIO: Simplify specifying options per packet.
EngineIO: Drop named inherits. binary frames, make compression overridable.
EngineIO: Drop named inherits.
Protocols: Tune default compressionparameters for speed.
EngineIO: Rename options to lower visibility outside the class.
EngineIO: Use ADT.Queue get/put in favour of deprecated read/write.
EngineIO: Tune deflate compressionparameters.
EngineIO: Close race during socket upgrades eliminated.
EngineIO/SocketIO: Improve documentation.
EngineIO: Close race during destruction.
EngineIO: Prevent race if destruction and upgrade cross each other.
EngineIO/SocketIO: Rename API to more closely follow the upstream naming conventions. Add events per namespace: on(), off().
SocketIO/EngineIO: Define PDT() debugging macro. Define DUSERERROR() macro. Throw proper errors with backtraces. Link statically as far as possible. Provide sid and lastrequest members on SocketIO.Server. Pass up ERROR messages from the protocol.
EngineIO: Make it threadsafe(r), and fix a protocol issue with mixed content.
SocketIO: Make it thread safe, and simplify the API.
EngineIO: _sprintf() includes protocol revision. Add lastrequest member. Consolidate setting callbacks to a single function. Binary frames have their type in binary sometimes too. Run the close_cb just prior to shutting down the write channel. Use the faster sprintf in favour of Buffers for %c%s type situations. Add accessible close() method. Avoid circular references in id. Close Transport without destructing. Tie up dangling refences when closing is forced.
Clean-room Engine.IO implementation.