This patch is:
* Adding handling of connection events to the tracker
* Adding a method sanitizing tokens (removing expired ones)
* Adding relevant account tracker tests
* Making account mapper aware of gcm driver being started
* Making sure ShutdownHandler implementation is safe to
call RemoveAppHandler (without causing a stack trace due
to invalid iterator)
* Making sure that account mapper does not count toward
registered app handlers when deciding to stop GCM Driver
* Updating FakeOAuth2TokenService to allow token request to
be repeated.
Based of patch:
https://codereview.chromium.org/617003005/
BUG=
374969
TBR=rogerta@chromium.org
Committed:
https://crrev.com/83afd876646fc45deb677780d16b615915cd56eb
Cr-Commit-Position: refs/heads/master@{#299804}