[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/device_dbus_adaptor.cc b/device_dbus_adaptor.cc
index 33f3097..209c9e6 100644
--- a/device_dbus_adaptor.cc
+++ b/device_dbus_adaptor.cc
@@ -60,14 +60,14 @@
 map<string, ::DBus::Variant> DeviceDBusAdaptor::GetProperties(
     ::DBus::Error &error) {
   map<string, ::DBus::Variant> properties;
-  DBusAdaptor::GetProperties(device_, &properties, &error);
+  DBusAdaptor::GetProperties(device_->store(), &properties, &error);
   return properties;
 }
 
 void DeviceDBusAdaptor::SetProperty(const string& name,
                                     const ::DBus::Variant& value,
                                     ::DBus::Error &error) {
-  DBusAdaptor::DispatchOnType(device_, name, value, &error);
+  DBusAdaptor::DispatchOnType(device_->store(), name, value, &error);
 }
 
 void DeviceDBusAdaptor::ClearProperty(const std::string& ,