Added broadcast option to ProgressBar and new RemoteProgress class

These options may it possible to view progress even when stdout is not
displayed directly. For instance, this may be used to view the progress
of non-interactive or batch jobs.