Resolve race condition.

While exceedingly unlikely, the old construct introduced potential race condition where it checked wself first, and assigned sself second. This now assigns sself first, and then checks that, which is the correct pattern, already used elsewhere in SDWebImage.
Adjusted completion logic in prefetcher, as the old implementation would finish prematurely if any requests were skipped.

Also adjusted documentation in headers to make it clear that the `finishedCount` includes both successful and unsuccessful requests.