bookmarks: resolve divergent bookmarks when fowarding bookmark to descendant

This patch is a follow-up to 56dd55da2f7d that resolves divergent bookmarks
between the to-be-forwarded bookmark MARK and the new descendant. This
situation can happen when pulling new changesets, updating to the divergent
bookmark, abandoning the previous changesets with strip, and then moving MARK
to MARK@N.

Test coverage is added.

--HG--
branch : stable
bookmarks: resolve divergent bookmarks when moving active bookmark forward

This patch resolves divergent bookmarks between the current active bookmark
MARK and the new destination. This situation can arise when pulling new
changesets, abandoning your current changesets actively bookmarked with MARK
via strip, and then doing a bare update. The non-divergent but active bookmark
MARK is then moved to a common ancestor of the new changesets and the abandoned
changesets.

Test coverage is added.

--HG--
branch : stable
bookmarks: resolve divergent bookmark when moving across a branch

This patch resolves a single divergent bookmark if a divergent bookmark exists
in the target revision and it current bookmark is not an ancestor of the target
revision, else it would already be handled by the previous patch in this
series.

Test coverage is added.

--HG--
branch : stable
bookmarks: fix bug that activated a bookmark even with -r passed

If the current revision was the target revision of -r, then the bookmark would
be active. Test cases have been updated accordingly.

--HG--
branch : stable
Added tag 2.6 for changeset 23f785b38af3

--HG--
branch : stable
Added signature for changeset 23f785b38af3

--HG--
branch : stable