[sync] Adopt cache GUIDs as session tags

The general idea is to adopt sync cache GUID to identify the local
session, making this datatype more similar to others. This also allows
the adoption techniques like IsRecentLocalCacheGuid() to filter out
copies of the local device and avoid listing them as remote devices.

The old tag, stored in preferences, is kept around (marked as legacy in
code) to avoid a one-off discrepancy that would run into a large traffic
to servers and possibly degraded user experience. The new method is
hence used for *newly* created sessions.

This new logic is introduced behind feature toggle (enabled by default)
in case it turns out to be problematic.

Change-Id: I18b71291ea8ffc6991ce0c2ea4e388c048a880c5
Bug: 1159455
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2595372
Commit-Queue: Mikel Astiz <[email protected]>
Reviewed-by: Marc Treib <[email protected]>
Cr-Commit-Position: refs/heads/master@{#838136}
17 files changed