shill: implement Service.Disconnect (for WiFiService only)

BUG=chromium-os:23774,chromium-os:23662
TEST=new unit tests, some autotests

autotests run:
- PASS network_WiFiSecMat.031CheckHidden_WPA
- PASS network_WiFiSecMat.032CheckHidden_RSN

Change-Id: I0c2dc8c9888caca793f0dfe5a55c0df2a4b10c79
Reviewed-on: https://gerrit.chromium.org/gerrit/12498
Commit-Ready: mukesh agrawal <quiche@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
diff --git a/manager.cc b/manager.cc
index 098584c..5d07df0 100644
--- a/manager.cc
+++ b/manager.cc
@@ -133,9 +133,10 @@
   }
 
   vector<ServiceRefPtr>::iterator services_it;
+  Error e;
   for (services_it = services_.begin(); services_it != services_.end();
        ++services_it) {
-    (*services_it)->Disconnect();
+    (*services_it)->Disconnect(&e);
   }
 
   adaptor_->UpdateRunning();