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/manager.h b/manager.h
index d2866c4..4c1beba 100644
--- a/manager.h
+++ b/manager.h
@@ -234,8 +234,8 @@
   PropertyStore *mutable_store() { return &store_; }
   virtual const PropertyStore &store() const { return store_; }
   GLib *glib() const { return glib_; }
-  virtual const FilePath &run_path() const { return run_path_; }
-  const FilePath &storage_path() const { return storage_path_; }
+  virtual const base::FilePath &run_path() const { return run_path_; }
+  const base::FilePath &storage_path() const { return storage_path_; }
 
   void set_startup_profiles(const std::vector<std::string> &startup_profiles) {
     startup_profiles_ = startup_profiles;
@@ -443,8 +443,8 @@
   }
 
   EventDispatcher *dispatcher_;
-  const FilePath run_path_;
-  const FilePath storage_path_;
+  const base::FilePath run_path_;
+  const base::FilePath storage_path_;
   const std::string user_storage_format_;
   scoped_ptr<ManagerAdaptorInterface> adaptor_;
   scoped_ptr<DBusManager> dbus_manager_;