Added serverName parameter to WebSocketServer constructor
Added isOriginAllowed() virtual method to WebSocketServer that can be overridden by subclasses
Added serverName and originAllowed parameters to handshake response constructor to avoid hardcoded values
Added server name field to constructor