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/ethernet_service.h b/ethernet_service.h
index fdee17a..2bdb945 100644
--- a/ethernet_service.h
+++ b/ethernet_service.h
@@ -27,7 +27,7 @@
 
   // Inherited from Service.
   virtual void Connect(Error *error);
-  virtual void Disconnect();
+  virtual void Disconnect(Error *error);
   virtual bool TechnologyIs(const Technology::Identifier type) const;
 
   // ethernet_<MAC>