TheFirstPlaceLoser - removing unnecessary calls to `TransportFailed`

`ServerSentEventsTransport` and `LongPollingTransport` registered callbacks to let the `TransportInitializationHandler` know that the transport failed (by calling the `TransportFailed` method) when the `disconnectToken` is tripped . This was unnecessary since the `TransportInitializationHandler` registered first its own callback for the same reason which would call `TransportInitializationHandler.Fail()`. Because we use the `SafeThreadInvoker` for invoking the `Fail()` method the calls from the transport implementations were no-ops because they would have happened after the call from the `TransportInitializationHandler` which in turn would make `SafeThreadInvoker` ignore any further calls.
Ready...Set...Fail - fixing a race in the `CancelledTaskHandledinLongPollingLoop` test

The `CancelledTaskHandledinLongPollingLoop` test is returning a cancelled task from the poll request and then is checking if the OnError method with the `OperationCancelledException` argument was invoked. It used a wait handle to block the test until the poll request returns. However the `OnError` method is invoked on a different thread and therefore the test may fail due to a race condition if the test starts verification before the `OnError` method is actually called. The fix is to wait with the verification until the `OnError` is called (or fail if it is not called within 2 seconds) to avoid the race.