IAlwaysFeltTheyHadSomethingInCommon - adding a base class for all "real" client transports (i.e. AutoTransport is excluded since it is only a wrapper) and moving common functionality.
BetterThreadSafeThanSorry - fixing UrlBuilder threading issue

The same instance of UrlBuilder could be used by multiple threads which could corrupt the internal state of the StringBuilder instance used by the UrlBuilder which results in weird exceptions. This manifested as random CI build failures. The fix is to turn the UrlBuilder to a static class (it does not need to be mocked) and create a new instance of StringBuilder each time.
NonValueAddedTax - removing WebSocketConnectionInfo private class. It does not add any value but requires dotting each time we need the connection thus cluttering the code.
Change long polling request to use same URL and POST instead of GET

- Update client protocol
- This change is intended to avoid a memory leak in IE/Chrome

#2953
Stop using the PreserveCultureAwaiter in MessageBroker and Subscription