hgmerge: various cleanups
Details:
- put temporary file names into variables
- make all temporary file names end with random part
- cleanup FileMerge handling
- do not use hardlinks in FileMerge change test (breaks on FAT)
- try harder to keep file mtime unchanged in case of failed merge
%% no merges expected
%% merge should fail
abort: 'b' already exists in the working dir and differs from remote
%% merge of b expected
merging for b
merging b
%%
Contents of b should be "this is file b1"
This is file b1
%% merge fails
abort: outstanding uncommited changes
%% merge expected!
merging for b
merging b
%% merge of b should fail
abort: outstanding uncommited changes
%% merge of b expected
merging for b
merging b