Refactor synchronous dispatching of mutation requests in anticipation of async mutations.

* Splits out reusable functionality in the mutate method in order to share between the sync and async versions.

Bug: 791280
Change-Id: I2aefe1699954a5808ea28332c7a9cadb7808b68d
Reviewed-on: https://chromium-review.googlesource.com/c/1399022
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Majid Valipour <majidvp@chromium.org>
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Commit-Queue: Kevin Ellis <kevers@chromium.org>
Cr-Commit-Position: refs/heads/master@{#622603}
4 files changed