Non-strict subscribe/unsubscribe
- WebSocket::subscribe and unsubscribe now takes bool nonStrict as a very significant optimization in certain use cases.
- idleTimeout must be specified as 0 or greater than 8 and is now unsigned short, limiting maximum timeout as 18 hours (2^16 seconds).
- Timeouts are now truncated to nearest 4 second and a warning is displayed for timeouts not being a multiple of 4.
- Timeouts have been micro optimized and will require up to 40% less CPU-time overall (although 40% of nothing is nothing!).