Start of foreign fetch implementation.

This changes the install event to use a new InstallEvent interface,
with a method to register foreign fetch scopes. Calling that method
will end up storing the scopes in the SWVersion in the browser process.

BUG=540509

Review URL: https://codereview.chromium.org/1406823002

Cr-Commit-Position: refs/heads/master@{#354845}
23 files changed