Implement support for dynamically added isolated origins.

This CL introduces an ability to add isolated origins at any time, rather
than only at browser startup.  Isolated origins added dynamically will
apply only to future BrowsingInstances and processes.

To do this, the calls involved in making process model decisions and
looking up isolated origins, such as DoesSiteRequireDedicatedProcess,
need to be aware of which BrowsingInstance is asking.  This CL adds
the required plumbing in the form of a new IsolationContext object.
For now, IsolationContext only contains the BrowsingInstance ID, but
in the future it will be extended to include BrowserContext info as
well, allowing isolated origins to also be scoped to particular
profiles.  Calls that currently take both BrowserContext and
IsolationContext will be able to simply pass an IsolationContext.

Design doc: https://goo.gl/4xVPKW

Bug: 905513
Change-Id: I5d6fb7724524e85efe492da26077209fa90be1bf
Reviewed-on: https://chromium-review.googlesource.com/c/1377616
Commit-Queue: Alex Moshchuk <[email protected]>
Reviewed-by: Charlie Reis <[email protected]>
Reviewed-by: Ɓukasz Anforowicz <[email protected]>
Cr-Commit-Position: refs/heads/master@{#622715}
29 files changed