Initiate /start request after a transport is selected in the JS client

- This is how the .NET client already behaves

#3104
Bump version to 2.1.1
.NET Client: Dispatch failed hub invocation callbacks on reconnecting
- #3101
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
Bump the ConnectionsDisconnected PC even when OnDisconnected throws
Removed the old OnDisonnected overload

- Removing the old overload is preferable to changing its behavior

#3115
Merge branch 'release'
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
Added unit tests
Update version in hub.js in sample project
fix for bug #3166

Changed ObservableDbOperation to look for Updates instead of Inserts
based on changes to send.sql
Update to JSON.NET 6.0.4
Fix JSON.NET reference in Silverlight samples
Fixing WP8 sample references after the update of Json.Net
BetterPath - updating path to MSBuild to use v12 required to build Windows Store projects.
Set constructor of JS hub proxies
- #3210
Disable keep alive checks in long polling transport - JS