Fixes #3579 and adds a testcase for an executable conflict treevalue.
rebase_descendants()
Commit::predecessors()
rewrite::rebase*()
TreeEntriesIterator
Commit::parents()
CommitRewriter
rebase_commit_with_options()
CommitRewriter::record_abandoned_commit()