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
Fix deadlock in ForeverTransport.ProcessMessages

- Since disposer.Set sometimes blocks waiting on InitializeTcs,
  ensure disposer.Set isn't called until InitializeTcs has completed.
NullMethodDescriptor now lists potential matching methods
#981
Inconsistent casing in NullMethodDescriptor fixed
#981
Updated tests to expect NullMethodDescriptor to list overloads

#981