Rebase helper for Blink rename

The general workflow is:
- switch to a branch that needs to be rebased
- run the script with --prepare
- run the script with --update

Internally, what the tool does is it runs the clang tool
across the local branch and records the result. During
the actual conflict resolution for rebasing across the
rename commit, it uses the previously recorded result
to help resolve conflicts.

This is a fairly heavyweight process, and for simpler
patches, it's likely more efficient to just rebase the
patch manually.

While this script should be able to help with chained
branches, usage is tricky: all the dependent branches,
from root to child, should be prepared with --prepare
first before running --update from root to child.

Bug: 676588
Change-Id: I67790467f341ffeb5a696636fe3e43bb7f663f40
Reviewed-on: https://chromium-review.googlesource.com/472569
Reviewed-by: Primiano Tucci <primiano@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#464471}
9 files changed