[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/profile_dbus_adaptor.cc b/profile_dbus_adaptor.cc
index fb7d5e0..6ac46a8 100644
--- a/profile_dbus_adaptor.cc
+++ b/profile_dbus_adaptor.cc
@@ -55,14 +55,14 @@
 map<string, ::DBus::Variant> ProfileDBusAdaptor::GetProperties(
     ::DBus::Error &error) {
   map<string, ::DBus::Variant> properties;
-  DBusAdaptor::GetProperties(profile_, &properties, &error);
+  DBusAdaptor::GetProperties(profile_->store(), &properties, &error);
   return properties;
 }
 
 void ProfileDBusAdaptor::SetProperty(const string &name,
                                      const ::DBus::Variant &value,
                                      ::DBus::Error &error) {
-  if (DBusAdaptor::DispatchOnType(profile_, name, value, &error)) {
+  if (DBusAdaptor::DispatchOnType(profile_->store(), name, value, &error)) {
     PropertyChanged(name, value);
   }
 }