libbrillo: Update libchrome APIs to r405848

The new libchrome has been ported from Chromium and some APIs have
changed. Make necessary changes at call sites.

Notable changes from libchrome:
- base::Bind() now explicitly disallows captures in lambdas (which was
  never allowed in the style guide), so lambdas should now be written in
  a way that take the captures as parameters.
- base::ListValue::iterator now exposes std::unique_ptr<base::Value>
  instead of raw base::Value*.

Bug: 29104761
Test: All tests in libbrillo_test pass on dragonboard-eng build

Change-Id: I4c49a27ca65dfcd180e863fcd3a9778ef80a8c41
diff --git a/brillo/message_loops/message_loop_utils.cc b/brillo/message_loops/message_loop_utils.cc
index 7931447..9ebe865 100644
--- a/brillo/message_loops/message_loop_utils.cc
+++ b/brillo/message_loops/message_loop_utils.cc
@@ -16,7 +16,8 @@
   bool timeout_called = false;
   MessageLoop::TaskId task_id = loop->PostDelayedTask(
       FROM_HERE,
-      base::Bind([&timeout_called]() { timeout_called = true; }),
+      base::Bind([](bool* timeout_called) { *timeout_called = true; },
+                 base::Unretained(&timeout_called)),
       timeout);
   while (!timeout_called && (terminate.is_null() || !terminate.Run()))
     loop->RunOnce(true);