Fix delayed jobs issues

# Why?

There was a regression after a recent production deploy that caused images to stop uploading. As it turns out, the method that was being called by delayed job was no longer saving the image, so the changes to the model were just quietly GCed.

# What Changed?

Refactored `Picture.from_url` and made sure it actually saves it in DJ.