FIX: Improvements and fixes to the image downsizing script (PR #9950)

Fixed bugs, added specs, extracted the upload downsizing code to a class, added support for non-S3 setups, changed it so that images aren’t downloaded twice.


Btw. this code has been tested on production and successfully resized ~180k uploads.

50% less repetition (ie. 1 less path)

    path = if upload.local?
      (, max_file_size_kb: 100.megabytes) rescue nil)&.path