Service Worker: (Re-commit) Add FetchEvent.clientId

* The original CL was committed but reverted due to a use-of-uninitialized-value
report: https://codereview.chromium.org/1435633002/#msg31 This CL re-commits the
original CL with a patch that initializes the member, |is_main_resource_load|,
in its containing object's constructors.

Changes from the original commit:
 - Add the member init in the initializer list of the constructors of
   ServiceWorkerFetchRequest class (in service_worker_types.cc).

--
As per the latest spec update, this CL implements FetchEvent.clientId attribute.

Spec discussion: https://github.com/slightlyoff/ServiceWorker/issues/723#issuecomment-151326898
Spec: https://slightlyoff.github.io/ServiceWorker/spec/service_worker/#fetch-event-clientid

Intent to implement and ship: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/XlBHOIOCjUk

The layout tests for this CL are mostly taken from Mozilla's work instead of
making new ones to ensure compatibility: https://bugzilla.mozilla.org/show_bug.cgi?id=1222464

BUG=552309

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

Cr-Commit-Position: refs/heads/master@{#370073}
21 files changed