API Added new CDNImage class type for Images

Despite wanting to avoid a custom data object type, it looks to be the only
reasonable way to override the way getFormattedImage does its checks for
the existing file prior to regenerating the relevant formatted image. Given the
non-upload-source nodes don't have this original image, they never trigger
the behaviour to otherwise generate the formatted image.

Requires you to re-save existing images to ensure they get the new image class
type.