Change long polling request to use same url and Post instead of Get for ...

...workaround to handle memory leaking on browser

We found that memory leaks on IE/Chrome when long polling url is different every time, however memory doesn’t leak on IE/Chrome when long polling url is same every time, so here we do some workaround for SignalR:

1. Change long polling request to use same url and Post instead of Get 
2. Move messageId from queryString to request body
3. Move groupsToken from queryString to request body

Verified:
1. With the change, all transports work, longPolling doesn't have memory leaking on IE/Chrome anymore.
2. Old version JS clients all transports work with the new server.
3. Tests passed on CI machine.
4. Run Stress.exe for SimpleEchoHub, it is faster than the code from dev branch without the change on same machine.
5. Run stress tests on local machine for 10+ hours, no new issue found.
6. In JS tests we have functional tests, so messageId get automatically verified.
7. In JS tests we also have functional tests for groupsToken and new test added to verify groupsTokens  after app domain restart .


#2953
I'd split this into 2 lines for clarity