debugbuilddag: use context manager for progress, locks, transaction
I minor side-effect is that .hg/localtags is now written before the
transaction commits.
Differential Revision: https://phab.mercurial-scm.org/D3777
local test passedaddgroupcopy test passedclone test passedlowlevelcopy test passed