Change IProgressReport to contain a Message of a generic type.

Backward compatible
The IProgress type parameter is still T