Add ProgressCallback
Set progress to NULL_PROGRESS_CALLBACK if callback is null
Call progress(null) in closeOutput()
:memo: Wrap docs at 80 characters
Move null progress callback into interface

This mirrors the pattern of the ConnectionFactory interface
Colocate progress callback ivar with other ivars
Assert transferred total after data is sent
Fully import ProgressCallback
Call code() to ensure request fully completes
Remove test for upload progress on receive
Remove Callback suffix from UploadProgress interface