When ui.origbackuppath is set, .orig files are stored outside of the working
copy. However conflicts can occur when files or directories end up having the
same name. These conflicts cause Mercurial to abort, even if they've been
created as a result of different sets of backup.
This is made worse by the .orig suffix that is appended to file names as they
are backed up. A file named x can conflict with a directory named x.orig from
a different backup, or perhaps even the same backup.
This change removes the .orig suffix from files stored in an out-of-tree
origbackuppath, and deals with the case where files and directories replace
each other in the backup directory.