Turn .save() excpetions into a HTTPConflict. Not nice, but at least the user gets the error. Until there is a proper way to validate things and get nice errors. Move may_edit_media() to lib.py, as it's not a view.