simplemerge: make `localorother` a "mode" instead of a separate thing

Authored by martinvonz.


simplemerge: make localorother a "mode" instead of a separate thing

simplemerge() takes a mode argument, which can be "union", "merge"
or "mergediff", and a localorother argument, which can be None,
"local", or "other". The two options are not at all orthogonal -- most
combinations don't make sense. Also, at least "union", "local", and
"other" are very closely related. Therefore, it makes sense to combine
them into one.

It probably makes sense to split the mode argument into resolve
and marker_style, where the former can be None, "union", "local",
or "other", and the latter can be "merge", "merge3", "mergediff", or
"minimize". This is a good step in that direction whether or not we
end up doing that.

Differential Revision: https://phab.mercurial-scm.org/D11887