[shill] Make profiles backed with StoreInterfaces

Rely on persistence of data in StoreInterface to maintain
Service/Device/IPConfig info for entities that are not
currently active, instead of maintaining lists in Profile
objects themselves.

BUG=chromium-os:17253
TEST=unit, run on device

Change-Id: I206f44ddf16c584354f8fcadb57032f047f33d0a
Reviewed-on: http://gerrit.chromium.org/gerrit/10024
Commit-Ready: Chris Masone <cmasone@chromium.org>
Reviewed-by: Chris Masone <cmasone@chromium.org>
Tested-by: Chris Masone <cmasone@chromium.org>
diff --git a/ethernet_service.cc b/ethernet_service.cc
index 4570464..7a8f363 100644
--- a/ethernet_service.cc
+++ b/ethernet_service.cc
@@ -53,7 +53,7 @@
   return ethernet_->GetRpcIdentifier();
 }
 
-string EthernetService::GetStorageIdentifier() {
+string EthernetService::GetStorageIdentifier() const {
   return base::StringPrintf("%s_%s",
                             kServiceType, ethernet_->address().c_str());
 }