[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/manager.h b/manager.h
index 289ee09..c055c77 100644
--- a/manager.h
+++ b/manager.h
@@ -53,6 +53,11 @@
   void Start();
   void Stop();
 
+  // Pushes |profile| onto stack of managed profiles.
+  // TODO(someone): CreateProfile and PushProfile should be implemented
+  // using this.
+  void AdoptProfile(const ProfileRefPtr &profile);
+
   const ProfileRefPtr &ActiveProfile();
   bool MoveToActiveProfile(const ProfileRefPtr &from,
                            const ServiceRefPtr &to_move);