Extensions: Using common ValueStoreFactory for all value stores.

1. Introduce new ValueStoreFactory interface used for the creation of
   ValueStore's in all namespaces (local, sync, and managed), and for all
   types (extension and application).
2. Delete SettingsStorageFactory/LeveldbSettingsStorageFactory,
   and switched to ValueStoreFactory.
3. Created a new TestValueStoreFactory (for testing). This combines
   settings_sync_unittest.cc:TestingValueStoreFactory and
   ScopedSettingsStorageFactory.
4. ValueStoreFrontend::Backend always lazilily initializes using the
   ValueStoreFactory. This makes unnecessary StateStore's deferred
   initialization mechanism - which will be removed in an upcoming CL.
5. A new ValueStoreFactoryImpl to mint new ValueStore's for Chrome.
   This currently delegates to a new LegacyValueStoreFactory which
   creates new LeveldbValueStore. An upcoming CL will add a second
   delegated factory (currently called ProfileValueStoreFactory) to
   support a unified (per-profile) extensions database.
6. Removed memcheck suppression for SettingsStorageFactory as this
   class is now deleted (crbug.com/163922).

BUG=453946,163922

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

Cr-Commit-Position: refs/heads/master@{#383137}
diff --git a/extensions/browser/mock_extension_system.h b/extensions/browser/mock_extension_system.h
index 3151edb..b926baad 100644
--- a/extensions/browser/mock_extension_system.h
+++ b/extensions/browser/mock_extension_system.h
@@ -35,6 +35,7 @@
   SharedUserScriptMaster* shared_user_script_master() override;
   StateStore* state_store() override;
   StateStore* rules_store() override;
+  scoped_refptr<ValueStoreFactory> store_factory() override;
   InfoMap* info_map() override;
   QuotaService* quota_service() override;
   AppSorting* app_sorting() override;