templater: move templatefilters.func into the same place as the other funcs
templater: add indentation arguments to the fill function
gendoc: make commnd __doc__ and extension __doc__ as translatable

Before this patch, commnd __doc__ and extension __doc__ are not translatable.
But other messages, like doc of helptalbe, section headers, are translatable.

This patch makes commnd __doc__ and extension __doc__ translatable.
gendoc: extract print help topics into a dedicated function

This will be used in an upcoming patch.
i18n-pt_BR: synchronized with 2b4344f23b44

--HG--
branch : stable
blackbox: fix recording exit codes (issue3938)

Previously the blackbox wrapped runcommand, but this failed to see the error
codes that were created if an exception occurred. I moved that logging to now
wrap _runcatch, so it can observe and log the actual error code (such as when
a user ctrl+c's during a command).

Updated the tests as well. Tested the change by running all the tests with the
blackbox extension enabled and verifying nothing broke (aside from things that
printed what extensions were enabeld).

The progress tests are affected by calls to time.time() so they needed to be
updated to pass.

--HG--
branch : stable
blackbox: fix blackbox causing exceptions in tests

In the tests some scripts call reposetup with the base ui instead of the
one the extensions have modified.  This causes an exception in
blackbox.reposetup since it expected a method to be there. So I just
check for it first. This only happened when the blackbox extension
was enabled during tests.

--HG--
branch : stable
amend: complain more comprehensibly about subrepos

--HG--
branch : stable
merge with stable
merge with i18n

--HG--
branch : stable
merge with stable