Photo upload error and related matters

This includes several fixes that were related to the issues in #528.

Firstly it uses fs-extra instead of the core fs module to move uploaded photos from /tmp as this works over different partitions.
It also fixes the underlying issue to 528 which was that for fields like other_names it was possible to save an entry that contained all blank fields. This failed validation when saving the object which caused the save when uploading an image to throw an error and hence the 500 error when saving the image. There is also a change to use .update instead of .save in the image code as that removes this error altogether by not running all the validation code so existing bad data won't cause this to occur.

It also fixes an issue which meant you could not remove all items from other_names etc.