Image Download Optimization - For Review

Ultimately what we're trying to accomplish is two fold.

First we want to be able to submit pre-loading requests for images which have yet to appear.
Second when the same url is requested multiple times, we want all the work from the first time to be preserved (but the image still has to arrive for the new caller as well).

Additionally:  
pre-loading requests should become owned by a UIImageView when that view now needs the image.
UIImageView requests that move off the screen should still be worked on