First draft of FAURLConnectionDownloadTask
Pushing response validation into FAURLConnectionTask as it makes the most sense to prevent an invalid response as soon as possible (especially if it is a large download)
Split FAURLResult into FAURLDataResult and FAURLDownloadResult