Do abort on dirty working copy check before merge
Add tests for aborting merge on dirty working copy
Makes a bit more sense to record base if unchanged