Ensure Image always has ImageData

Suspected strange browser behaviour means that on some occassions,
images are submitted without any image_data attributes. This results
in Images being saved without an actual file. This breaks the app when
editors subsequently try and edit the edition. Certain tests have had
to be tweaked to ensure that the virus scanning has been performed
before any attempt is made to change the Image, otherwise it will not
validate.
Data migration to clean up Images