Reworking progress-reporting code in ClientUpdateStatus, and fixing a few bugs as I go.