Introduce LegionCoreHost as a ProfileKeyedService.

This change adds LegionCoreHost, a KeyedService in
//chrome/browser/legion, which manages the integration of the Legion
components within the browser. It includes:
-   LegionCoreHost: Handles OAuth token fetching using IdentityManager and delegates to the Phosphor TokenManager. It observes IdentityManager for account changes.
-   LegionCoreHostFactory: A ProfileKeyedServiceFactory to create and manage LegionCoreHost instances, ensuring it's only enabled when the kLegion feature is active.
-   A new OAuthConsumerId::kLegionService and a corresponding kLegionAuthScope are added to support OAuth token requests for Legion.

Bug: b:457425423
Change-Id: I8e12bd656b46e61a04e6eeda7415ecc23438641c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7258595
Reviewed-by: Alex Ilin <[email protected]>
Reviewed-by: Oleh Lamzin <[email protected]>
Commit-Queue: Saeid Eid <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1566215}
NOKEYCHECK=True
GitOrigin-RevId: 39a5923db62215b9a53d12eb498c20eec36e4de4
2 files changed