SyncManager & UserConnection refactoring. Make SyncManager independent of kNet messages. Add generic message send & receive functionality to UserConnection class (can be subclassed.) Make AssetModule use the UserConnection's send functionality instead of kNet directly.
Added the concept of protocol version, which is negotiated to the lowest supported by both client and server. Client/Server/SyncManager refactoring.
Initial unification of the UserConnection & SyncManager. WebSocketSyncManager removed.
Fixed null pointer access in AssetModule with WebSocket connections.
Fixed WebSocket connection type & transform sync threshold handling.
Change UserConnection's properties to a QVariantMap.
Store both XML & JSON data for UserConnectedResponseData.
Store the server port as a numeric value in the login properties instead of a string.
Refactor the way Websocket network messages are signaled. Signal every WebSocket message also globally from the Server. Do not signal unauthenticated WebSocket user messages.
Create subclass for kNet-based user connections. Change ConnectionType property in UserConnection to QString.
Fix compile error on Linux.
Rename kNetUserConnection -> KNetUserConnection.
Use explicit toBool() when checking user authentication status. Removed unnecessary code.
Further GCC ambiguous operation fix.