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
<item>
<title>#desc|strip|firstline|strip|escape#</title>
<link>#url#?cs=#node|short#</link>
<description><![CDATA[#desc|strip|escape|addbreaks#]]></description>
<author>#author|obfuscate#</author>
<pubDate>#date|rfc822date#</pubDate>
</item>