Set ContentLength where possible and expand async progress tests