Introduce IOSChromeProfileSyncServiceFactory

But do not use it yet.

Also introduce the test utilities to create the ProfileSyncServiceMock on iOS.

BUG=565305,565339

Review URL: https://codereview.chromium.org/1520953002

Cr-Commit-Position: refs/heads/master@{#365006}
diff --git a/ios/chrome/browser/BUILD.gn b/ios/chrome/browser/BUILD.gn
index e096b28..d743e9b8 100644
--- a/ios/chrome/browser/BUILD.gn
+++ b/ios/chrome/browser/BUILD.gn
@@ -330,6 +330,8 @@
     "suggestions/suggestions_service_factory.mm",
     "sync/glue/sync_start_util.cc",
     "sync/glue/sync_start_util.h",
+    "sync/ios_chrome_profile_sync_service_factory.cc",
+    "sync/ios_chrome_profile_sync_service_factory.h",
     "sync/ios_chrome_sync_client.cc",
     "sync/ios_chrome_sync_client.h",
     "sync/ios_chrome_synced_tab_delegate.cc",
@@ -649,16 +651,23 @@
     "signin/fake_oauth2_token_service_builder.h",
     "signin/fake_signin_manager_builder.cc",
     "signin/fake_signin_manager_builder.h",
+    "sync/ios_chrome_profile_sync_test_util.cc",
+    "sync/ios_chrome_profile_sync_test_util.h",
     "sync/sync_setup_service_mock.cc",
     "sync/sync_setup_service_mock.h",
   ]
 
   deps = [
+    "//base",
+    "//components/browser_sync/browser",
     "//components/signin/core/browser",
     "//components/signin/ios/browser",
+    "//components/sync_driver",
     "//ios/chrome/browser",
+    "//ios/chrome/common",
     "//ios/chrome/test",
     "//ios/public/provider/chrome/browser",
+    "//ios/web",
     "//testing/gmock",
     "//testing/gtest",
     "//ui/base",