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
header = header-raw.tmpl
footer = ""
changeset = changeset-raw.tmpl
difflineplus = "#line#"
difflineminus = "#line#"
difflineat = "#line#"
diffline = "#line#"
changesetparent = "# parent: #node#"
changesetchild = "# child: #node#"
filenodelink = ""
filerevision = filerevision-raw.tmpl
fileline = "#line#"
diffblock = "#lines#"
filediff = filediff-raw.tmpl
fileannotate = fileannotate-raw.tmpl
annotateline = "#author#@#rev#: #line#"