shill: Implement Service.Remove & delete DHCP leases

Implement the Service.Remove dbus API and modify the unload sequence to
remove the DHCP lease file. Add unit tests to DHCPProvider & WiFiService to
check lease file deletion. Currently only WiFi does the DHCP lease delete
from DBus - WiMax/Cell/VPN do their own things for IP configuration and
Ethernet can't be removed as per the API spec.

Also make sure FilePath is qualified as base::FilePath throughout the project.

BUG=chromium-os:32756
TEST=added unittests to test the call path on Unload() to delete the lease file

Change-Id: Ic6eee17b9d81cd0be8d09c683d85d6a4d19278c9
Reviewed-on: https://gerrit.chromium.org/gerrit/44339
Tested-by: Albert Chaulk <achaulk@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Queue: Albert Chaulk <achaulk@chromium.org>
diff --git a/wifi_service_unittest.cc b/wifi_service_unittest.cc
index 4b18730..16499e9 100644
--- a/wifi_service_unittest.cc
+++ b/wifi_service_unittest.cc
@@ -32,6 +32,7 @@
 #include "shill/wifi_endpoint.h"
 #include "shill/wpa_supplicant.h"
 
+using base::FilePath;
 using std::map;
 using std::set;
 using std::string;
@@ -1622,4 +1623,12 @@
   }
 }
 
+TEST_F(WiFiServiceTest, Unload) {
+  WiFiServiceRefPtr service = MakeServiceWithWiFi(flimflam::kSecurityNone);
+  EXPECT_CALL(*wifi(), DestroyIPConfigLease(service->GetStorageIdentifier())).
+    Times(1);
+  service->Unload();
+}
+
+
 }  // namespace shill