Implement updateViaCache in service workers

updateViaCache is an attribute on ServiceWorkerRegistration that
controls whether the browser cache (the HTTP cache) is used when
performing an update check.

This patch persists the updateViaCache value into service worker
registration storage, and makes the service worker update check
take the value into account. Since the default value of
updateViaCache is 'imports', this makes it so the update check
bypasses the cache for the main script by default.

Intent to implement and ship: https://groups.google.com/a/chromium.org/d/msg/blink-dev/RwjXGTAbuuA/7Q3NPlJ4BAAJ
Migrated from original Rietveld codereview: https://codereview.chromium.org/2771823002/

Bug: 675540
Change-Id: Ib8efcce0220d394ee254ff221bb844eccf596b51
Reviewed-on: https://chromium-review.googlesource.com/618076
Commit-Queue: Emma Haruka Iwao <yuryu@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#531252}
24 files changed