download_strategy: add a CurlTimedOutDownloadStrategy class

CurlTimedOutDownloadStrategy provides a timeout option for
fast switching from url to mirror if primary site is down.
If only one url is provided, this class will work exactly
same as CurlDownloadStrategy.