Reland: Move Extension ScriptContext creation into ScriptContextSet.
This is relanding both 320971 and 322902 which were reverted in 323869.
See https://codereview.chromium.org/995283004 for the original review.
Previously extensions::Dispatcher was responsible for creating ScriptContexts
then Adding them to its ScriptContextSet. Now, ScriptContextSet creates them
itself. This prepares the Extension system for later changing to lazily or
asynchronously creating ScriptContexts.
BUG=466373
R=rockot@chromium.org
Review URL: https://codereview.chromium.org/1060463004
Cr-Commit-Position: refs/heads/master@{#325287}