Fixes several cases:
- When connection error thrown on retry, and subsequent retry started
from the beginning, not the partial start
- Clone headers instead of adding Range header to dz.http_headers
variables - this was causing errors on other requests
- Use 'with self.dz.session.get' to make sure request cleaned up on
failure
- Fix calculation of downloadPercentage for retries: complete is now
the size of the retry, so percentage needs to account for start
value