shill: Implement Manager::ConfigureService

As part of this change, add the "Profile" property to the list
of ignored properties for Service::Configure(), since we deal with
it separately in Manager::ConfigureService().  Also, fully deprecate
ConfigureWifiService; since Chrome doesn't use this function, there's
no purpose in supporting it.

BUG=chromium-os:22800
TEST=New unit tests.

Change-Id: Ie58e47d175784688b09e5d85f863ab97a8c8bb44
Reviewed-on: https://gerrit.chromium.org/gerrit/18897
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
diff --git a/manager_dbus_adaptor.cc b/manager_dbus_adaptor.cc
index 57749f6..62f3f84 100644
--- a/manager_dbus_adaptor.cc
+++ b/manager_dbus_adaptor.cc
@@ -199,9 +199,17 @@
   return GetService(args, error);
 }
 
-void ManagerDBusAdaptor::ConfigureWifiService(
-    const map<string, ::DBus::Variant> &,
-    ::DBus::Error &/*error*/) {
+
+void ManagerDBusAdaptor::ConfigureService(
+    const map<string, ::DBus::Variant> &args,
+    ::DBus::Error &error) {
+  KeyValueStore args_store;
+  Error e;
+  DBusAdaptor::ArgsToKeyValueStore(args, &args_store, &e);
+  if (e.IsSuccess()) {
+    manager_->ConfigureService(args_store, &e);
+  }
+  e.ToDBusError(&error);
 }
 
 void ManagerDBusAdaptor::RegisterAgent(const ::DBus::Path &,