Speculatively launch Service Workers on mouse/touch events. [3/5]

1/5: Introduce NavigationHintSender.
     https://codereview.chromium.org/2043863003/
2/5: Pipe NavigationHints from NavigationHintSender to ChromeRenderMessageFilter
     https://codereview.chromium.org/2043083002/
3/5: Call StartServiceWorkerForNavigationHint() from ChromeRenderMessageFilter
     This CL.
4/5: Measure the precision of the speculative launch of Service Workers for
NavigationHints
     https://codereview.chromium.org/2045153003/
5/5: Add flags to enable SupeculativeLaunchServiceWorker
     https://codereview.chromium.org/2053573002/

When ChromeRenderMessageFilter receives NavigationHint IPC message, it calls
ServiceWorkerContextWrapper::StartServiceWorkerForNavigationHint().
ServiceWorkerContextWrapper will try to start a Service Worker for the document
which is linked from the anchor element.

This CL depends on https://codereview.chromium.org/2181553003/

BUG=616502

Committed: https://crrev.com/2cba6671596841c77457423e70e9d12070425dd1
Review-Url: https://codereview.chromium.org/2052613003
Cr-Original-Commit-Position: refs/heads/master@{#407695}
Cr-Commit-Position: refs/heads/master@{#407775}
10 files changed