Bind relay WS message handling before onopen and add non-blocking connect.challenge response support without forcing handshake waits on current relay protocol. Landed from contributor @pandego (PR #22571). Co-authored-by: pandego <7780875+pandego@users.noreply.github.com>