test-revert: simplify generation of files

With the recent change in naming of the generated files, it becomes
much easier to generate the files by iterating over all the possible
states than over the state transitions.

--HG--
extra : rebase_source : fbce867f212e9d31f649e904f2dff506a9f46c1e
test-revert: move embedded script to its own file

Move the gen-revert-cases.py out of test-revert.t into its own file so
we can reuse it from other tests (specifically test-status-rev.t).

--HG--
extra : rebase_source : 43302d0f826fc45f35e66b5dc0441b3ce404b1f0
test-status-rev: use same names as from generate-working-copy-states

To prepare for using generate-working-copy-states.py for generating
the files and their content, let's start by renaming the files
according to the naming scheme used by that script.

--HG--
extra : rebase_source : b01deeabcbb683f9f13ff4417e9fc3608fb6ccda
test-status-rev: use common script for generating file history

Start using the generate-working-copy-states.py script that's shared
with test-revert.t, instead of creating the states manually in the
test. This adds several states that are currently missing. We will
start checking those states later.

--HG--
extra : rebase_source : 301a6464ffd73f9bb8fc92feb136e77c3001c4ff
test-status-rev: document one more broken test

The status for missing_content2_content2-untracked doesn't get
reported at all. Since the file does exist in the working copy, it
should reported as unknown. Document that in the test.

--HG--
extra : rebase_source : cce78ee18be8156e2c9fb8a024ef25a0c0639cd8
bookmarks: fix formatting of exchange message (issue4439)

The message formatting was crashing when doing explicit pulling `hg pull -B X`.
This changeset fix it and improved the test coverage.

--HG--
branch : stable
merge with stable