Updated log message for keep alive monitoring

Resolves #1084
Make it possible to use Forever Frame when requested.

- Instead of failing due to window.EventSource is supported, a log message sent that better transport methods are available.
Changed reconnecting to disconnecting
This pull should close #1057

Changed back to the initial check of window.EventSource, but with different log message
Changed log message for not supporting FF when SSE is supported.
Respond to JSONP send requests with the correct MIME type

#3110
Rewrite ProcessStartRequests to not use async/await to avoid deadlocks

- Deadlocks would occur in the old async/await code if someone attached
  to the PreSendRequestHeaders event.

#3116
Attach to the PreSendRequestHeaders event for only one test
MomentaryLapsOfReason - fixing stupid code (I wrote)

HTTP => WS scheme conversion is supposed to be done everywhere by UrlBuilder however the net45 WebSocketTransport was using both - UrlBuilder *and* manual conversion *in the same method*. Fixing the code to use the Uri converted by the UrlBuilder instead of doing the same conversion the second time.
Bump the ConnectionsDisconnected PC even when OnDisconnected throws
Removed the old OnDisonnected overload

- Removing the old overload is preferable to changing its behavior

#3115
Added test covering bug #3151
Add & fix SQL tracing
- #3147
AsyncIsHard - fixing a deadlock in EndToEnd tests

One of the EndToEnd tests was blocking in a continuation that was run synchronously which caused a deadlock and test failures. The fix is to wait asynchronously.
FarewellOutputHubsFromUrl - removing OutputHubsFromUrl from signalr.exe

Fixes bug #2769
Add a workaround to make sure Redis connection is reconnected in ConnectionRestored event

#3095
Merge branch 'release' into dev
Update message loops sample to detect all duplicate messages then stop connection when new message is not duplicate instead of running forever
Update version to 2.1.2
Fix SQL duplicate messages issue:
- Ensure the state is reset at the beginning of the receive loop
- Added more tracing to detect unexpected states in the ObservableDbOperation state machine
- #2988