Implement content negotiation using Variants and Variant-Key

This CL introduces SignedExchangeRequestMatcher::
FindBestMatchingVariantKey() method. This method is called from
AlternateSignedExchangeResourceInfo::FindMatchingEntry() by PreloadHelper and
PrefetchedSignedExchangeManager to decide which alternate subresource signed
exchange should be used.

Bug: 935267
Change-Id: I89520c27afc7efe8f2000f2c8acbecacff512a88
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1677348
Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#676287}
10 files changed