mergeresult: yield from getactions() instead of buidling a list and returning
Only 7 out of 29 callers change the underlying dict while iterating. So it's
better to yield and wrap the 7 callers with `list()`.
Differential Revision: https://phab.mercurial-scm.org/D8882
sparse: replace merge action values with mergestate.ACTION_* constants
Having bytestrings like `b'r'` makes it hard to understand for people who don't
know the code much or looking at it for the first time.
Differential Revision: https://phab.mercurial-scm.org/D8881