compat: add implementations of new merge.update() and merge.clean_update()

This adds `compat.update()`, `compat.clean_update()`, which will
delegate to the same functions from `mercurial.merge` when they are
available, or fall back to calling `hg.updaterepo()` when they're not.
8 jobs for topic/default/compat-merge-update in 6 minutes and 56 seconds (queued for 1 second)
Status Job ID Name Coverage
  Test
passed checks-py2 #109749

00:01:34

passed checks-py3 #109750

00:01:27

passed doc #109755

00:00:34

manual pytype #109748
allowed to fail manual
passed tests-py2-cext #109751

00:03:48

passed tests-py2-pure #109752

00:03:20

passed tests-py3-cext #109753

00:06:55

passed tests-py3-pure #109754

00:06:44