transaction: always remove empty journal on abort
When transactions without entries were aborted, the journal (of size 0) was not
unlinked, which prevents subsequent operations until hg recover is run on the
repository.
We also make sure the journal is unlinked when committing, even if the provided
hook doesn't do so.
to build a new macosx binary package:
install macpython from http://www.python.org/download/mac
install py2app from http://pythonmac.org/packages/
make sure /usr/local/bin is in your path
run bdist_mpkg in top-level hg directory
find packaged stuff in dist directory