[Sync] Refactor data type configuration/activation/deactivation

Changed ConfigureDataTypes to take a set of types to add and a set of types to remove.

Changed Activate/DeactivateDataType to take ModelTypes instead of
the DataTypeControllers directly.

BUG=
TEST=


Review URL: http://codereview.chromium.org/7511004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96326 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/sync/profile_sync_service.h b/chrome/browser/sync/profile_sync_service.h
index c7956594..558c548 100644
--- a/chrome/browser/sync/profile_sync_service.h
+++ b/chrome/browser/sync/profile_sync_service.h
@@ -389,13 +389,12 @@
   // remove this function.
   void GetModelSafeRoutingInfo(browser_sync::ModelSafeRoutingInfo* out);
 
+  // Overridden by tests.
   // TODO(zea): Remove these and have the dtc's call directly into the SBH.
   virtual void ActivateDataType(
-      browser_sync::DataTypeController* data_type_controller,
+      syncable::ModelType type, browser_sync::ModelSafeGroup group,
       browser_sync::ChangeProcessor* change_processor);
-  virtual void DeactivateDataType(
-      browser_sync::DataTypeController* data_type_controller,
-      browser_sync::ChangeProcessor* change_processor);
+  virtual void DeactivateDataType(syncable::ModelType type);
 
   // NotificationObserver implementation.
   virtual void Observe(int type,