Made Implementation*Exceptions derive from IOException
ThreadTask.ThrowIfCancellationRequested() helper method
TrackingLabel/TrackingProgressBar: do not block on Task.ProgressChanged