Implement ServiceWorkerSingleScriptUpdateChecker

This patch enables ServiceWorkerSingleScriptUpdateChecker to check if
there are any differences between the stored scripts and its
counterparts loaded from the network. The comparison is only performed
for scripts that are used in the instance of requested SWVersion.
This impl doesn't yet allow SWNewScriptLoader to continue the aborted
comparison, but future patches will implement:
* passing the result of update check to SWNewScriptLoader
* record the info about scripts which are already compared and known to
be identical

Bug: 648295
Change-Id: If89dd415578b1c5809159f196d398447a96a812f
Reviewed-on: https://chromium-review.googlesource.com/1224610
Commit-Queue: Momoko Hattori <momohatt@google.com>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Reviewed-by: Ramin Halavati <rhalavati@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595072}
11 files changed