[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/shill_config.h b/shill_config.h
index 8229099..67d6487 100644
--- a/shill_config.h
+++ b/shill_config.h
@@ -18,9 +18,9 @@
 
   void UseFlimflamStorageDirs() { use_flimflam_ = true; }
 
-  std::string RunDirectory();
-  std::string StorageDirectory();
-  std::string UserStorageDirectoryFormat();
+  virtual std::string GetRunDirectory();
+  virtual std::string GetStorageDirectory();
+  virtual std::string GetUserStorageDirectoryFormat();
 
  private:
   static const char kDefaultRunDirectory[];