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.