Convert history to use Identity Service client library

This CL converts //components/history from using //components/signin
to using the Identity Service client library. The conversion is
straightforward:

- Obtain the primary account info via the IdentityManager rather than
  the SigninManager.
- Invalidate access tokens via the IdentityManager rather than
  ProfileOAuth2TokenService.
- Obtain access tokens via a one-shot PrimaryAccountAccessTokenFetcher
  rather than via ProfileOAuth2TokenService.

There is a slight behavioral change as the Identity Service client lib
interacts with ProfileOAuth2TokenService asynchronously to invalidate
access tokens and fetch access tokens. This behavioral change should
not cause any user-visible changes in behavior, as access token fetching
is already asynchronous from the consumer POV and ordering of a call
to invalidate an access token with a subsequent access token fetch is
preserved by design.

I tested the relevant behavior manually by going to chrome://history
for a signed-in and syncing test user and confirming that their
synced history showed up after this change identically to before this
change.

Bug: 796545
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: Ic2cbf966f5bd7c88512ff710bf5d5dba3da613ad
Reviewed-on: https://chromium-review.googlesource.com/846879
Commit-Queue: Colin Blundell <[email protected]>
Reviewed-by: Mihai Sardarescu <[email protected]>
Reviewed-by: Sylvain Defresne <[email protected]>
Cr-Commit-Position: refs/heads/master@{#528275}
9 files changed