Support the use of dummy image views to assign some logic to end of image loading

Given that an image view can request multiple different images it was necessary to check that request finishing was the final request, but this leads to incompatibility with dummy views which are `dealloc`'d almost immediately.  We will call the completion handlers in this case so that someone may perform some logic on the completion of the request.
That being said letting nil through seems bad, but it's the simplest compatible code with the code which loaded off a dummy view to populate the cache.