i18n: extract strings with xgettext
The xgettext program knows about Python string formatting and will
mark messages with a special "#, python-format" comment in the hg.pot
file. When msgfmt compiles the file, it can check these messages to
ensure that the translated string uses the same conversion specifiers
as the original string.
The pygettext program is still used to extract the docstrings.
wire protocol: avoid infinite loop (
issue1483)
Pure python base85 fallback
Encoding takes about 100x longer than native on a large binary.