sync: Add new model types for OS_PREFERENCES and OS_PRIORITY_PREFERENCES

Add the new syncer::ModelType entries for Chrome OS system preference
sync. These follow the existing convention of not being wrapped in
platform ifdefs.

Add support to PrefServiceSyncable for registering prefs in the new
categories. The new registration flags are wrapped in ifdefs, since
it doesn't make sense for non-Chrome OS platforms to register
Chrome OS system prefs.

Add a base::Feature SplitSettingsSync to control whether the new
model types are actually used for syncing. This must stay disabled
until the server-side protobufs have been deployed to production.

Add unit tests for PrefServiceSyncable for the new categories.

There are no user visible changes.

A design doc is linked from the bug.

Bug: 1013466
Test: added to components_unittests
Change-Id: Ice645292353c91dbd6c27a305bed95bd99ed9ec0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1859884
Auto-Submit: James Cook <[email protected]>
Commit-Queue: Marc Treib <[email protected]>
Reviewed-by: Marc Treib <[email protected]>
Reviewed-by: ssid <[email protected]>
Reviewed-by: Ilya Sherman <[email protected]>
Reviewed-by: Dominic Battré <[email protected]>
Cr-Commit-Position: refs/heads/master@{#706352}
28 files changed