cas: write download progress to stdout

This introduces ProgressReader, a reader proxy that keeps track progress
while reading an io.Reader and writes status updates to an io.Writer.

Fixes #208