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
Welcome?BackTransportAbortHandler - reverting TransportAbortHandler removal

We found that removing TransportAbortHandler caused a few issues and there might be more we did not find. Reverting change to avoid breaks.
Send ACKs to the connection waiting on the ACK not the acker itself

- These ACKs are used to verify that commands published to the
  bus have been received and processed (e.g. group commands).
- Previously, ACKs only succeeded if the waiter and acker were on
  the same machine and/or the acker happened to be the waiter.

#3037
SmallBigData - allowing messages longer than 32766 characters

Fixes work item #3040

Non .NET Framework 4 clients used the FormUrlEncodedContent class to escape messages sent by clients. This limited the length of the message to 32766 characters. For longer the client would fail with the invalid uri exception saying "The Uri string is too long". The messages are not actually Uris so we don't care about the length. The fix is to use a custom UrlEncoder we already have which is functionally equivalent to Uri.EscapeDataString() but will not throw if message is longer than 32766 characters.
Update version in hub.js in sample project
Merge branch 'release' into dev
Repairing performance test runs by removing unit test dependencies
Removed tracking variations from TPlan to prevent reporting site reconfiguration