[base] Make Timer::SetTaskRunner sequence-affine.

This is a prereq to make all of base::Timer sequence-affine.

Ideally we would get rid of Timer::SetTaskRunner but it's used in many
tests to mock the clock (by redirecting the delayed task to a
TestSimpleTaskRunner or TestMockTimeTaskRunner explicitly managed by
the test). Hence this CL bans multi-threaded use cases while still
allowing same-thread use cases for old tests.

Bug: 587199, 896990

Change-Id: I1785ff404f115309ea6eec743004709048d52f07
Reviewed-on: https://chromium-review.googlesource.com/c/1394311
Commit-Queue: Gabriel Charette <gab@chromium.org>
Auto-Submit: Gabriel Charette <gab@chromium.org>
Reviewed-by: Fran├žois Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#624470}
3 files changed