[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/cellular_service.cc b/cellular_service.cc
index be5af33..8011bc6 100644
--- a/cellular_service.cc
+++ b/cellular_service.cc
@@ -59,7 +59,7 @@
   return cellular_->TechnologyIs(type);
 }
 
-string CellularService::GetStorageIdentifier() {
+string CellularService::GetStorageIdentifier() const {
   string id = base::StringPrintf("%s_%s_%s",
                                  kServiceType,
                                  cellular_->address().c_str(),