fix(progress): show known total on pipeline compression bar
Pipelines like tar.gz produced a spinner (pos and total ticking up
together) because the outer stage's input came from an in-memory pipe
with unknown size. Route the bar to the innermost stage — the only one
that sees real input bytes — and suppress it on outer stages by
threading a pipeline-inner flag out of open_input.