Added connection data (hub subscriptions) to every request.

- This also involved moving the starting event above the negotiation logic instead of inside, this way connection data is built before the negotiate request.

#2503
Added tests to verify that connection data is passed with all requests.

- This also involved adding a ConnectionDataVerifierHub which checks requests to ensure that all requests contain the correct information associated with them.
- Also fixed some cherry-pick conflict issues that didn't translate correctly.

#2503
Addressed code review comments.

- This involved combining the addQs and addConnectionData into a singular method (prepareQueryString).
- Also modified addConnectionData to be private amongst the common js file.

#2503