message: Avoid unnecessary copying and allocation in `ExecutorBarrier::WhenDone()`.
  Previously the code would make a copy of the `done_cb_` and update the status
  on a successful completion, neither of which is necessary, and both of which
  showed up in trace amounts in profiling.
diff: @@ -202,12 +202,13 @@ class ExecutorBarrier {
  // below.
  if (--pending_ == 0) {
  CHECK(done_cb_ != nullptr);
  - done = done_cb_;
  - done_cb_ = nullptr;
  + std::swap(done, done_cb_);
  }
  + if (!status_.ok()) {
  status = status_;
  }
  + }
  if (error) {
  error_rendez->StartAbort(status);
  