status: explicitly exclude removed file from unknown and ignored

Changeset 64fe488b5179 introduced a test to validate that file were not reported
twice when both unknown and removed. This behavior change was introduced by
65cdc6bab91e alongside a bug that dropped ignored and unknown completely
(issue4321). As we are going to fix the bug, we need a proper implementation of
the behavior tested in 64fe488b5179.

--HG--
branch : stable
extra : rebase_source : 928c5874bb476f2e5a468d995cd6d228976dace3
status: don't drop unknown and ignored information (issue4321)

By the magic of code movement, we ended up dropping unknown and ignored
information when comparing the working directory with a non-parent revision.

Let's stop doing it and add a test.

--HG--
branch : stable
extra : rebase_source : f194b644f36019c8503d9403c4997d2ca70c818c
status: do not reverse deleted and unknown

When reversing a status, trading "added" and "removed" make sense.
Reversing "deleted" and "unknown" does not. We stop doing it.

The reversing is documented in place for the poor soul not even able to remember
the index of all status elements by heart.

--HG--
branch : stable
extra : rebase_source : a9027c86db5a3c2a671f95796e196db1ba6697e6