revset: document the choice made in __generatorset.__iter__

The method code looks a bit ugly but has good reasons to. We document them
to prevent naive refactoring in the future.
revset: remove nullrev from set computed in p1() and p2()

The old code relied on the subset contents to get rid of invalid values. We would
like to be able to rely more on the computation in p1() and p2() so we filter out
the invalid value
revset: refactor parents() into a single return point

Both paths are doing similar thing in the end. We refactor the function so that
the `ps` set is commonly used at the end.

This will end excluding `nullrev` from this set in a future patch
revset: remove nullrev from set computed in parents()

The old code relied on the subset contents to get rid of invalid values. We would
like to be able to rely more on the computation in parents() so we filter out
the invalid value.
revset: remove invalid value in the origin set

Same as the parents related revsets, origin had some invalid value in the
computed set. We remove them.

--HG--
extra : rebase_source : b82f1fd0f2d25db3a7ab6f661d9cfd4cb0f17b8e
revset: unify code flow in `bookmark`

We refactor the code of the bookmark revset to have a single return. This will
allow us to sanitize the content of the set.

--HG--
extra : rebase_source : 4b45372ab7a84fcf94e224c313feba4bafc6281f
revset: remove nullrev from the bookmark computation

Same as for other revset we sanitize the content of the set to be able to rely
on it more.

--HG--
extra : rebase_source : 273bf648227540a7ef87c4794e96b8a9d915d5b7
commit: catch changed exec bit on files from p1 (issue4382)

--HG--
branch : stable
extra : rebase_source : 4fc8e6a7e1338eadf70bd719d2a13d186230d409
help: mention mode in hg log --removed help (issue4381)

--HG--
branch : stable
extra : amend_source : 93a1a0066d98283f194f15ee43e5bd4bd9181838
commands: deprecate the parents commands

It's replaced by 'hg summary' or hg log -r 'parents(foo)' and
doesn't need to take up space in our command list anymore.

--HG--
extra : rebase_source : 401ba0fee448b19ce096112be97d3965e1320d68
merge with stable