Better timeout recording and handling

(1) Move response time recording to `_makeNodeResolverWithTimeout`, so
    we don't need a separate function to do that.

(2) Response time will be recorded even if a response gets timeout but
    finally goes through.

(3) Record timeout count for each individual operation.