shill: Service: Save service entry when property is set

When individual properties are set on a service that has a
backing profile, save the property to the profile so it is
persisted immediately.

BUG=chromium-os:29745
TEST=New unit test

Change-Id: I19084436d29f39033f5be2d08958aa68297be4d0
Reviewed-on: https://gerrit.chromium.org/gerrit/21026
Commit-Ready: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/service_dbus_adaptor.cc b/service_dbus_adaptor.cc
index d26fdd6..3a72738 100644
--- a/service_dbus_adaptor.cc
+++ b/service_dbus_adaptor.cc
@@ -70,6 +70,9 @@
                                      const ::DBus::Variant &value,
                                      ::DBus::Error &error) {
   DBusAdaptor::SetProperty(service_->mutable_store(), name, value, &error);
+  if (!error.is_set()) {
+    service_->OnPropertyChanged(name);
+  }
 }
 
 void ServiceDBusAdaptor::ClearProperty(const string &name,