Rewrote item::move to eliminate duplicated code (see gallery_event::item_moved and Item_Model::_randomize_name_or_slug_on_conflict, which are called by item save)