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/default_profile.h b/default_profile.h
index c31997c..05fc4fb 100644
--- a/default_profile.h
+++ b/default_profile.h
@@ -29,7 +29,7 @@
   DefaultProfile(ControlInterface *control,
                  Metrics *metrics,
                  Manager *manager,
-                 const FilePath &storage_path,
+                 const base::FilePath &storage_path,
                  const std::string &profile_id,
                  const Manager::Properties &manager_props);
   virtual ~DefaultProfile();
@@ -56,7 +56,7 @@
   // appropriate file location.
   //
   // In this implementation, |name_| is ignored.
-  virtual bool GetStoragePath(FilePath *path);
+  virtual bool GetStoragePath(base::FilePath *path);
 
  private:
   friend class DefaultProfileTest;
@@ -77,7 +77,7 @@
   static const char kStoragePortalURL[];
   static const char kStorageShortDNSTimeoutTechnologies[];
 
-  const FilePath storage_path_;
+  const base::FilePath storage_path_;
   const std::string profile_id_;
   const Manager::Properties &props_;