progress: write ui.progress() in terms of ui.makeprogress()

Authored by martinvonz.

Description

progress: write ui.progress() in terms of ui.makeprogress()

I think ui.makeprogress() should be the preferred interface and we
should deprecate ui.progress(). All in-core callers already use
ui.makeprogress(). Moving the logic to the scmutil.progress() will let
us make further improvements.

This seems to have sped up hg perfprogress from 1.92 s to 1.85 s,
perhaps because we now skip the indirection of updating the progress
bar via ui.progress().

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