setup: move all l10n related commands in `trac.util.dist`.
This way, plugins can easily re-use the Trac operating mode (compile before install). If they need to localize .js files, they should do something like:
{{{#!python
from trac.util.dist import get_l10n_js_cmdclass
extra['cmdclass'] = get_l10n_js_cmdclass()
}}}
If they don't need the new `*_js` related commands, they should do:
{{{#!python
from trac.util.dist import get_l10n_cmdclass
extra['cmdcl…

setup: ensure `compile_catalog` command is called before `bdist_wininst` and `bdist_egg`.
That way, the `.mo` files (but not the `.po` files) are available at runtime.
This however depends on the Babel dependency being installed when running these `bdist_*` commands.
Closes #9291.

0.12dev: Created the default-disabled `tracopt` package, and moved the `authz_policy` component from `sample-plugins` into `tracopt.perm`.
Also, handle the absence of the `configobj` package and log an error in that case.

i18n: usage of i18n:msg in templates seems to be problematic in Genshi 0.5.1, update required Genshi version to recent trunk (also works with installed and recommended advanced-18n branch, of course).
Closes #7684.

0.12dev: Modularized `trac-admin` by introducing an interface `IAdminCommandProvider` and moving all commands except `help`, `quit` and `initenv` into their respective owner modules.
* Tab-completion has been reworked and should be closer to what's usual in shells.
* Exceptions raised in tab-completion functions are now displayed, where they were previously swallowed by `readline`.
This completes the first part of #7770.
Don't forget to run:
{{{
python setup.py develop
}}}
to pick up the new modules.