streamclone: reimplement nested context manager
It's gone in Python 3, and you can't *ctxs into a with statement. Sigh.
Differential Revision: https://phab.mercurial-scm.org/D4690
local test passedaddgroupcopy test passedclone test passedlowlevelcopy test passed