use update instead of save for image operations

This means that if something is broken in the other aspects of the data,
such as other_names not having a name which was possible due to a bug,
then the photo operation will still occur without error as the
validation isn't being fired on the entire object. Without this you end
up with a 500 error and you can't delete any photos.

Fixes #528