Make workingCopy.write use diff, not hashes
mv merge.writeMergeIndex -> writeIndex
Pull more code into main merge algo

* Trying to make as much code as possible shared between conflict and non-conflict cases
mv diff.diffTocs -> diff.diff
mv diff.baseDiffTocs -> diffWithBase