PM: Add a DBus backend to the shill provider.

This change integrates the necessary logic for the shill provider to
actually talk to shill over DBus.

* RealShillProviders now takes a DbusInterface object. PolicyManager and
  RealState were extended to propagate this object, accordingly.

* New provider_utils and general glib_utils modules.

* Minor touch-ups: removal of redundant includes and unwarranted 'using'
  clauses.

BUG=chromium:338585
TEST=Unit tests.

Change-Id: I4082b845557eff2a02a928c60c348dde0e784a2c
Reviewed-on: https://chromium-review.googlesource.com/189045
Reviewed-by: Gilad Arnold <garnold@chromium.org>
Commit-Queue: Gilad Arnold <garnold@chromium.org>
Tested-by: Gilad Arnold <garnold@chromium.org>
diff --git a/policy_manager/fake_shill_provider.h b/policy_manager/fake_shill_provider.h
index f75ef2c..b05a147 100644
--- a/policy_manager/fake_shill_provider.h
+++ b/policy_manager/fake_shill_provider.h
@@ -18,11 +18,11 @@
  protected:
   virtual bool DoInit() {
     set_var_is_connected(
-        new FakeVariable<bool>("is_connected", kVariableModeAsync));
+        new FakeVariable<bool>("is_connected", kVariableModePoll));
     set_var_conn_type(
-        new FakeVariable<ShillConnType>("conn_type", kVariableModeAsync));
+        new FakeVariable<ShillConnType>("conn_type", kVariableModePoll));
     set_var_conn_last_changed(
-        new FakeVariable<Time>("conn_last_changed", kVariableModeAsync));
+        new FakeVariable<base::Time>("conn_last_changed", kVariableModePoll));
     return true;
   }