transaction: reorder unlinking .hg/journal and .hg/journal.backupfiles
After this reordering, absence of '.hg/journal' just before starting
new transaction means also absence of '.hg/journal.backupfiles'.
In this case, all temporary files for preceding transaction should be
completely unlinked, and HG_PENDING doesn't cause unintentional
reading stalled temporary files in.
Otherwise, 'repo.transaction()' raises exception with "run 'hg
recover' to clean up transaction" hint.
basic test for hg debugrebuildstate
$ hg init repo
$ cd repo
$ touch foo bar
$ hg ci -Am 'add foo bar'
adding bar
adding foo
$ touch baz
$ hg add baz
$ hg rm bar
$ hg debugrebuildstate
state dump after
$ hg debugstate --nodates | sort
n 644 -1 set bar
n 644 -1 set foo
status
$ hg st -A
! bar
? baz
C foo
$ cd ..