Stretch request timeout in line with retry timeout

This means that the retries will use an incremental strategy for request timeouts as well as time between retries. This ends up as the following:

Old Behaviour:
```
Request  1: 1000
Delay  1: 2000
Request  2: 1000
Delay  2: 3000
Request  3: 1000

Max: 9000
```

New Behaviour:
```
Request  1: 2000
Delay  1: 2000
Request  2: 3000
Delay  2: 3000
Request  3: 4500

Max: 14500
```