Reland^5 "[blink] Control ScriptStreamer with ScriptResource"

This is a reland of aaeff5e6358a4b69fe1c92d30ffa04a703690879
which was a reland of 31bcf8aa5ab66f390b207bb0a712ccb5cefe8e11
which was a reland of 5528336d71c1ec02d5b6e8f3224755a9cfb20de4,
which was a reland of dd9df78ccc1e1ac79a5657966a264562c6d03fb7,
which was a reland of 7bd9163502462762e58d8010577dbf36aeef6c13.

Relanding with no changes, after disabling the flaky test in
https://crbug.com/904389

Original change's description:
> [blink] Control ScriptStreamer with ScriptResource
>
> Move the ScriptStreamer control logic from ClassicPendingScript to
> ScriptResource. In the future, this will allow us to start streaming
> a ScriptResource before the ClassicPendingScript is available, e.g on
> preload.
>
> The ClassicPendingScript now only sends one "finished" callback, from
> ScriptResource. This callback is either when the streaming completes,
> or when there is no streaming and the ClassicPendingScript has told
> the ScriptResource that it doesn't intend to start streaming. In the
> long run, we want all scripts to go through the streaming interface,
> and we want ScriptResource to control when streaming starts, so the
> "no more streaming" call will disappear -- however it is necessary to
> maintain the current behaviour, and be able to control it with a
> runtime flag.
>
> Bug: chromium:865098
> Change-Id: I2c4cc16635a6538b7ff24a24463fe6f34efd8a2e
> Reviewed-on: https://chromium-review.googlesource.com/c/1181430
> Commit-Queue: Leszek Swirski <leszeks@chromium.org>
> Reviewed-by: Hiroshige Hayashizaki <hiroshige@chromium.org>
> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#599148}

TBR=kinuko@chromium.org,rmcilroy@chromium.org,haraken@chromium.org,hiroshige@chromium.org,kouhei@chromium.org,vogelheim@chromium.org

Bug: chromium:865098
Change-Id: Ifa87904db32666517bfe1174fca51b7e552679b2
Reviewed-on: https://chromium-review.googlesource.com/c/1329800
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607268}
20 files changed