update to re-set connection lastActiveAt when startHeartbeat,  call startHeartbeat and monitorKeepAlive when transport fully start

#2865
update per code review feedback
update to re-set LastActiveAt when start HeartbeatMonitor in .Net client
update for SignalR package dependency Katana minimum version

#2890
update to prevent script error for property 'pingInterval'

#2865
update JS client foreverFrame not to reconnect when connecting

#2883
Update for race condition to skip abort when connection already disconnected

#2897
Optimized RedisMessageBus performance
- changed serialization format for RedisMessage
- Booksleeve transactions changed to Lua script
#2905
Optimized RedisMessageBus performance

- moved deserialization of RedisMessage out of lock

#2905
Update ReflectedHubDescriptorProvider for loaded Type when ReflectedTypeLoadException

#2876
Update ServiceBus config documentation

With Line 32 (within the constructor) setting `TopicCount` to `5`, should the documentation on the `TopicCount` property indicate that the default is `5` rather than `1`?
Order usings

#2905
Optimized RedisMessageBus performance
- fixed code analysis error CA1305: parse message.Id with CUltureInfo.InvariantCulture

#2905
Fix test that requires a 404 to use http://httpstat.us/404
Server changes to support long-polling keep alives

#1781
Support long-polling keep alives on the JS client

#1781
Support long-polling keep alives on the .NET client

#1781
Disable keep alive checks if there is a LongPollDelay

- Ensure we don't timeout the connection because there is a delay between
  poll requests
- Disable keep alive checks  if the server didn't send back the LongPollDelay
  as part of the response to /negotiate. That indicates the server is running
  an older version of SignalR that doesn't send long polling keep alives.

#1781
Start testing the long-polling transport in KeepAliveFacts

#1781
Prevent functional test from hanging