Changed IResponse's interface to have a CancellationToken.
- Plumb the cancellation token through to ITrackingConnection.
- Updated TransportHeartBeat to take advantage of the connection.
Updated tests to work with new CTS on IResponse.
When the cts is cancelled, release the request associated with the connection.

#1327
Don't remove connections from the list on timeout.
Updated current counter on heartbeat.
Implement release request for ForeverTransport and LongPollingTransport.
- Drain writes before tripping tcs for longpolling.

#1327