webcommands: move nonempty logic from JavaScript to Python
This avoids hard-coding the '(none)' string in the JavaScript for each
style and avoids the {nonexisting|nonempty} hack which only works
since the template system don't complain about undefined variables.
hgweb: use "nonempty" filter in templates for the changelog message
At least subversion allows empty commit logs which, after conversion,
show up as empty fields in hgweb and don't allow selecting the
changeset. Using "nonempty" as filter, "(none)" is used to get
clickable links for empty commit messages.
templatefilters: add "nonempty" template filter
It ensures that at least "(none)" is returned in case the argument
passed is None or ''. This is primarily useful to render empty
changelog messages for hgweb but may be useful for others, too.
keepalive: fix
4f13ed6ee544, reintroduce unredirected_hdrs
The previous fix dropped unredirected_hdrs which contain authentication
headers. Removing them break POST request requiring authentication (like
unbundle calls to bitbucket.org).