[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/wifi_unittest.cc b/wifi_unittest.cc
index 2da6820..77c9345 100644
--- a/wifi_unittest.cc
+++ b/wifi_unittest.cc
@@ -108,7 +108,7 @@
 class WiFiMainTest : public ::testing::TestWithParam<string> {
  public:
   WiFiMainTest()
-      : manager_(&control_interface_, NULL, NULL),
+      : manager_(&control_interface_, NULL, &glib_),
         wifi_(new WiFi(&control_interface_,
                        &dispatcher_,
                        &manager_,
@@ -131,6 +131,7 @@
     wifi_->proxy_factory_ = &proxy_factory_;
     static_cast<Device *>(wifi_)->rtnl_handler_ = &rtnl_handler_;
     wifi_->set_dhcp_provider(&dhcp_provider_);
+    EXPECT_CALL(manager_, DeregisterService(_)).Times(AnyNumber());
   }
 
   virtual void TearDown() {