Minor DnsSession cleanups

Bunch of minor changes/fixes in advance of moving ServerStats, server
error and timeout tracking, and related logic from DnsSession to
ResolveContext:
*Updated method names/comments to match feedback from an earlier
 partial move of the DoH server selection logic. Eg we now have
 ServerIndexToUse() instead of NextGoodServerIndex().
*For consistency, FirstServerIndex() (previously NextFirstServerIndex())
 is now used for both DoH and non-DoH and just returns 0u for DoH.
*Unified server index types wherever I could find them to always be
 size_t. It's essentially a vector index, so the Chrome style guide says
 that should use size_t.
*Slightly modernized the global base::BucketRanges used in ServerStats
 to be shared using a static method with NoDestructor rather than the
 static field lazy initializer stuff that was used in DnsSession.
*Deleted the non-histogram logic for tracking round-trip times in
 ServerStats. This was dead code as only the histogram-based logic is
 ever used for determining timeouts.
*Converted some millisecond constants/variables to TimeDelta because
 units are evil and result in crashed spacecraft.
*Removed some DnsClient code to clear ServerStats on connection type
 change based on a trial name that doesn't seem to ever be enabled.
 Couldn't find that name string anywhere else in any Google code.
*Convert LastFailure times from base::Time to base::TimeTicks.
*Rename RecordRTTForHistogram() to RecordRttForUma(). "Histogram" is a
 very ambiguous term here because DnsSession is using histogram logic to
 track RTT estimation.

Bug: 1022059
Change-Id: Id1af17a4b119049bc717c3a4292e230bd40b09cd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2050169
Commit-Queue: Eric Orth <ericorth@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#741474}
9 files changed