GoneWithARace - prevent a client failure caused by a race

When building Url we checked whether connection.ConnectionToken, connection.MessageId and connection.GroupsToken were null before appending them to the Url. However there was a small window in which these properties could be set to null in a different thread if a Disconnect happened causing the client to fail with the ArgumentNullException. Assigning the property value to a local variable and using the variable throughout the method prevents from the failure.

Fixes #3212