Reland "Add initial OptimizationGuideKeyedService behind a development flag"

This is a reland of f9987048d643629fce109da4d99ec5e96127f4b0

This is the original change with the browser test being less strict
(checking histogram count > 0 rather than exact count)

Original change's description:
> Add initial OptimizationGuideKeyedService behind a development flag
>
> This initially introduces a subset of PreviewsHints logic into this new
> service to incorporate the component hints and puts it into the store
> without any mechanisms for retrieving it out of the store (that will
> follow in subsequent CLs). Following this new path is subject to the new
> "OptimizationGuideKeyedService" Feature being enabled.
>
> Once this new path for loading and managing hints is fully landed, the logic
> will be removed from PreviewsHints and PreviewsOptimizationGuide.
>
> Bug: 969558
> Change-Id: Ieebaf137e1b93dadc55dc381d3edad0606fe7b16
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1709652
> Commit-Queue: Sophie Chang <sophiechang@chromium.org>
> Reviewed-by: Lei Zhang <thestig@chromium.org>
> Reviewed-by: Doug Arnett <dougarnett@chromium.org>
> Reviewed-by: Stefan Kuhne <skuhne@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#681450}

Bug: 969558
Change-Id: I70457e335bdc69d4637e93992dfe56600cac8bb7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1724810
Reviewed-by: Stefan Kuhne <skuhne@chromium.org>
Reviewed-by: Doug Arnett <dougarnett@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#682012}
14 files changed