[shill] Profiles need to own their own storage

We're moving to a model where we rely on the StoreInterface
implementation to maintain profile state, instead of managing
a list of Service objects manually.  Thus, we need to allow
Profile to own its own StoreInterface.

BUG=chromium-os:17253
TEST=unit

Change-Id: Ie62462686ecf598efeac08a2d3180cd372430bb9
Reviewed-on: http://gerrit.chromium.org/gerrit/9916
Commit-Ready: Chris Masone <cmasone@chromium.org>
Reviewed-by: Chris Masone <cmasone@chromium.org>
Tested-by: Chris Masone <cmasone@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
diff --git a/store_interface.h b/store_interface.h
index 283b205..59c30fa 100644
--- a/store_interface.h
+++ b/store_interface.h
@@ -16,6 +16,9 @@
  public:
   virtual ~StoreInterface() {}
 
+  // Flush current in-memory data to disk.
+  virtual bool Flush() = 0;
+
   // Returns a set of all groups contained in the store.
   virtual std::set<std::string> GetGroups() = 0;