Create experiment to split cache by top frame origin

This CL prefixes the disk cache's key with the top frame origin,
 like this: "[top frame url].[url]". This way the same resource
loaded from two pages with different origins won't use the same
cached entry.

Changes:
* Added a new experiment, SplitCacheByTopFrameOrigin. The
  experiment does *not* clear the caches on entry/exit
  from the experiment. If this proves to be problematic
  we can fix that later.
* Added a top_frame_url member to HttpRequestInfo,
  copied from the URLRequest.
* Changed the cache key generation function.
* Added both unit and browser tests.

Bug: 898855
Change-Id: I4a693e98af88de71d1ae6c4630c5df9fa042670b
Reviewed-on: https://chromium-review.googlesource.com/c/1352344
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Maks Orlovich <morlovich@chromium.org>
Commit-Queue: Josh Karlin <jkarlin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615294}
9 files changed