transaction: fix __repr__() and make the default name bytes
This likely was always wrong on py3, since going back to
aff5996f3043, these
were added as a r-strings. Callers seem to always be supplying bytes, which
makes the `b'/'.join(...)` part OK, but then bytes can't be interpolated into
str with "%s", so it wouldn't have worked in either case.
rhg: support rhg files [FILE]
This comes mostly for free after the rhg status [FILE] implementation.