[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.h b/ethernet_service.h
index 3be0a18..4a38958 100644
--- a/ethernet_service.h
+++ b/ethernet_service.h
@@ -31,7 +31,7 @@
   virtual bool TechnologyIs(const Technology::Identifier type) const;
 
   // ethernet_<MAC>
-  virtual std::string GetStorageIdentifier();
+  virtual std::string GetStorageIdentifier() const;
 
  private:
   static const char kServiceType[];