Better progress reported if size is unknown

* Change the way the progress is reported when the size is unknown to send
  the number of	read bytes
* Use CopyingMock for mutable args in the size tests
* CopyingMock to follow the project super() pattern