Split PrefService into PrefService, PrefServiceSimple and PrefServiceSyncable.

The first two (PrefServiceSimple is a subclass of PrefService) know
nothing about sync or any Chrome or content concepts.

The third (PrefServiceSyncable, a separate subclass of PrefService)
knows about sync and requires users to choose whether each individual
preference is syncable or not when it is registered.

BrowserProcess::local_state() is a PrefServiceSimple after this
change, and Profile::prefs() is a PrefServiceSyncable.

COLLABORATOR=kaiwang@chromium.org
TBR=ben@chromium.org
BUG=155525


Review URL: https://chromiumcodereview.appspot.com/11570009

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174531 0039d316-1c4b-4281-b951-d872f2087c98
378 files changed