Improve how #revert_commit handles conflicts.

Using a merge strategy that favours "ours" will reduce the number of possible
issues with merge conflicts, and using `git add *` will favor keeping files
around.

I am not certain this will be a very effective way of avoiding merge conflicts
(which should hopefully never come up), but it's probably a step in the right
direction.