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/wifi.h b/wifi.h
index 9ed174b..a1fbd7d 100644
--- a/wifi.h
+++ b/wifi.h
@@ -56,6 +56,7 @@
   virtual void ConnectTo(
       WiFiService *service,
       std::map<std::string, ::DBus::Variant> service_params);
+  virtual void DisconnectFrom(WiFiService *service);
 
   // Called by Manager.
   virtual WiFiServiceRefPtr GetService(const KeyValueStore &args, Error *error);