Fixed the Hub Auth portion of the Sample project

- By calling MapSignalR later we can ensure SignalR runs after auth
  middleware and HttpApplication.AuthenticateRequest.

#3152
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 #3211, #3212
OutOfBodyExperience - removing IFrame from body

For foreverFrame transport SignalR appended the iframe as the last child of the body node. However some libraries (e.g. jQuery UI) move nodes inside the body which causes the iframe to reload which results in sending a "connect" request even though the transport has already been started. Because we cleaned up some things after sending the original "connect" request the second "connect" request may cause "Object expected" exceptions. The fix is to move the iframe outside the document body node so it is less likely to be touched/moved by the user's code.

Fixes #2795
Merge branch 'bug-2795' into dev
Remove unnecessary Trace property from MessageBus