Make MarkProcessAsAlive only run on UI thread.
Currently this runs on both UI and IO threads, which causes problems for https://codereview.chromium.org/
1157243005/ which tries to register trigger handles on the UI thread. Additionally, refactored the timer so that we restart it once we've finished gathering. With a small enough gather cycle + bad luck, it's possible right now for both threads to be accessing the metrics_map_.
BUG=
Review URL: https://codereview.chromium.org/
1168503002
Cr-Commit-Position: refs/heads/master@{#332442}