Introduce probe::PrepareRequest

Split probe::PrepareRequest from probe::WillSendRequest.

 - probe::PrepareRequest is called from FetchContext::PrepareRequest.
 - probe::WillSendRequest does not modify the given request.
 - probe::WillSendRequest is called from
   FetchContext::DispatchWillSendRequest.

There are some behavior changes.
 - The call site for FetchContext::PrepareRequest and
   FetchContext::DispatchWillSendRequest are somewhat distant. For
   example, now the "disable cache" option in devtools takes effect
   for MemoryCache as the modification is done in PrepareRequest which
   precedes ResourceFetcher::DetermineRevalidationPolicy.

I updated
http/tests/devtools/network/network-memory-cached-resource.js because
it is affected by the "disable cache" behavior change.

Bug: 924024, 914739, 632580
Change-Id: Ie25dc899b21a0588fac1a52209bd4f8e6ecae5aa
Reviewed-on: https://chromium-review.googlesource.com/c/1426250
Commit-Queue: Yutaka Hirano <yhirano@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#632117}
21 files changed