[ServiceManagerContext] Pass a task runner to ServiceManagerContext.

Currently, the ServiceManagerContext uses the BrowserThread::IO to start the
ServiceManager. We want to create the ServiceManagerContext earlier and start
the ServiceManager in the thread that hasn't prompted to BrowserThread::IO yet.

In this CL, a task runner is explictly passed to the constructor of the
ServiceManagerContext to remove the dependency of BrowserThread::IO.

Bug: 729596
Change-Id: I948d6bbd7e5623dbc5c08552ba2b80505e403e67
Reviewed-on: https://chromium-review.googlesource.com/1055757
Commit-Queue: Xi Han <hanxi@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Ken Rockot <rockot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561866}
4 files changed