[libsocialcache] Ensure we emit signal on error

Previously, if an error occurred, no signal was emitted.
This commit ensures that for every AbstractImageDownloader::queue()
there will be an imageDownloaded() signal emitted.  The file parameter
of the signal will be empty if an error occurred.

This symmetry allows clients to terminate cleanly when all queued
requests have been dealt with.