Simplify protocol command dispatch

This reduces the amount of inversion of control when dispatching a
protocol command. In other words, instead of returning a callback
to dispatch a command, the domain (and uber) dispatcher just execute
the command. A fallthrough callback is now passed along with the
dispatchable.

See downstream CL for projected usage: https://chromium-review.git.corp.google.com/c/chromium/src/+/7851363

Change-Id: I284e2e8b2562d8f3c1ca5398f1fe0612af8e40e4
5 files changed