[shill] Use composition instead of inheritance with PropertyStore

Instead of having Device, Manager, etc all inherit from PropertyStore
and have it be difficult to follow the getting/setting property code,
have each include a PropertyStore as a data member.  Provide an
accessor so that RPC adaptor classes can get and set properties
directly and continue to handle any necessary type conversion
themselves.

BUG=None
TEST=unit tests

Change-Id: I34781bde4de0e152550ca636e28d472abde756af
Reviewed-on: http://gerrit.chromium.org/gerrit/3616
Tested-by: Chris Masone <cmasone@chromium.org>
Reviewed-by: Darin Petkov <petkov@chromium.org>
diff --git a/ipconfig_dbus_adaptor.cc b/ipconfig_dbus_adaptor.cc
index edd97cf..cfd0252 100644
--- a/ipconfig_dbus_adaptor.cc
+++ b/ipconfig_dbus_adaptor.cc
@@ -56,14 +56,14 @@
 map<string, ::DBus::Variant> IPConfigDBusAdaptor::GetProperties(
     ::DBus::Error &error) {
   map<string, ::DBus::Variant> properties;
-  DBusAdaptor::GetProperties(ipconfig_, &properties, &error);
+  DBusAdaptor::GetProperties(ipconfig_->store(), &properties, &error);
   return properties;
 }
 
 void IPConfigDBusAdaptor::SetProperty(const string &name,
                                       const ::DBus::Variant &value,
                                       ::DBus::Error &error) {
-  if (DBusAdaptor::DispatchOnType(ipconfig_, name, value, &error)) {
+  if (DBusAdaptor::DispatchOnType(ipconfig_->store(), name, value, &error)) {
     PropertyChanged(name, value);
   }
 }