bookmarks: update only proper bookmarks on push -r/-B (issue 3973)

Make push -r/-B update only these bookmarks that point to pushed revisions
or their ancestors, so we can be sure that commit pointed by bookmark is
present in the remote reposiory. Previously push tried to update all shared
bookmarks.
i18n-ja: synchronized with cfdae231ba78
i18n-pt_BR: synchronized with 7b815e38022a
rebase: don't clobber wd on --abort when we've updated away (issue4009)
rebase: continue abort without strip for immutable csets (issue3997)

This causes us to simply discard the rebase state.
rebase: allow aborting when descendants detected

With this, all aborts will succeed in removing the state, rather than
leaving the user in 'what do I do now?' limbo.
histedit: don't clobber working copy on --abort if not on histedit cset

Similar to issue4009, 2.7 will force people to abort histedits before
doing interesting things. Without this fix, people with histedit
sessions they wandered away from before upgrading to 2.7 could clobber
their working copy for no reason.
merge with i18n
bookmarks: pull --update updates to active bookmark if it moved (issue4007)

This makes `hg pull --update` behave the same wrt the active bookmark as
`hg pull && hg update` does as of 2096e025a728. A helper function,
bookmarks.calculateupdate, is added to prevent code duplication between
postincoming and update.
Added tag 2.7 for changeset f37b5a17e6a0
Added signature for changeset f37b5a17e6a0
merge with stable
run-tests: only check the common criteria once per test
obsolete: clean up a couple of docstrings for correctness
paper: get rid of changelogtag template duplication
hgweb: remove trailing whitespace in mercurial.js
hgweb: show full date in rfc822 format in tooltips at shortlog page

The absolute date was not shown anywhere in the log view for users with
enabled JavaScript.
paper: remove unused occurence of changelogtag in views

This variably isn't passed to these views and it always renders to empty string
for this reason. Other themes don't have this issue.
hgweb: separate search itself and template generation

This will make it simpler to add other search modes.
hgweb: cleaner if conditions in changelog() function

This removes unneeded extra nesting level and extra variable, which makes
the code easier to understand.