shill: Service: Return loadable service identifier

Add a Service method which returns the storage identifier from
a given StorageInterface which could be used to configure this
service.  Override this method for WiFiService since it uses
a different method than default to decide a loadable profile
entry.

BUG=chromium:235674
TEST=Unit tests

Change-Id: I6d1bc3cc7e472d3598ac9299b3d76d33820ce0fe
Reviewed-on: https://gerrit.chromium.org/gerrit/49269
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/profile.cc b/profile.cc
index f719243..c88d835 100644
--- a/profile.cc
+++ b/profile.cc
@@ -194,7 +194,7 @@
 }
 
 bool Profile::ContainsService(const ServiceConstRefPtr &service) {
-  return service->IsLoadableFrom(storage_.get());
+  return service->IsLoadableFrom(*storage_.get());
 }
 
 void Profile::DeleteEntry(const std::string &entry_name, Error *error) {