when a TCP dispatch times out, we call tcp_recv() with a result value of ISC_R_TIMEDOUT; it cancels the oldest pending dispentry in the dispatch's active queue. if there are more dispentries remaining on the active queue, it resumes reading, but it failed to reset the timer. this has been corrected.
also incidentally fixed a compile error that turned up when DNS_DISPATCH_TRACE was turned on.
Closes #4072 (closed)