Reland "Mojo C++ bindings: support sync methods - part 2"

This CL introduces the correct re-entrancy behavior: when a sync call is waiting
for response, allow incoming sync requests on the same thread to re-enter, async
messages are queued until the sync call completes.

The following will be in future CLs:
- Support sync calls with associated interfaces.

The original CL is at https://codereview.chromium.org/1713203002/

BUG=577699

Review URL: https://codereview.chromium.org/1723673002

Cr-Commit-Position: refs/heads/master@{#376892}


CrOS-Libchrome-Original-Commit: 8ef9022a0d352066587791b3e225ca264c688ade
16 files changed
tree: 05117a1f658564ca391f2b065c7c2fa9899d0189
  1. base/
  2. build/
  3. components/
  4. dbus/
  5. device/
  6. ipc/
  7. mojo/
  8. testing/
  9. third_party/
  10. ui/