Synchronize with hg-next

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
remote-hg: custom method to update bookmarks

The 'official' one does many things we don't want, and it has different
API depending on the version of Mercurial.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
remote-hg: simplify push()

We don't use phases.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
remote-hg: fix fake bookmark handling

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
remote-hg: fixes for old Mercurial versions

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>