Don't reuse WebRequests on timeout

If a web request isn't able to complete within 15 seconds the
.Timeout observable would throw, making the .Retry kick into
action, re-scheduling the deferred request observable which
would throw if the web request was still running.

This makes sure we create a new web request on each retry.
Merge pull request #64 from github/no-webrequest-reuse-on-timeout

Don't reuse WebRequests on timeout in DownloadUrl