Hostdb Restructure (#8953)

* Rebase checkpoint for HostDB restructure.

* Post rebase fixup.

* Fix PreWarm

* Fix nexthop test.

* Timing fix for HostDB restructure (#34)

The default duration of time_since_epoch() is
std::chrono::high_resolution_clock::duration, which will not generally
be seconds. hostDB.refcountcache->put expects the epoch count to be a
number of seconds. This explicitly casts to seconds so we get that
expected value.

This also makes some other std::chrono time updates.

Co-authored-by: bneradt <bneradt@yahooinc.com>

* Debug_bw updates. And clang-format fix. (#35)

* Debug_bw updates. And clang-format fix.

* If HostDB returns only failed parents, try serving from cache.

Before this change, the parent cache logic would give up if it couldn't
resolve the origin name for a request. This will attempt to retrieve a
cached response if the resolution fails.

Co-authored-by: Brian Neradt <brian.neradt@verizonmedia.com>
Co-authored-by: bneradt <bneradt@yahooinc.com>
Co-authored-by: Brian Neradt <brian.neradt@gmail.com>
39 files changed