Fix issue with old order not being set

When moving an item between lists, previously the old order was not being set on the record before calling `decrement_positions_on_lower_items`. This had the side effect of leaving the previous list with duplicate or incorrect order numbers if you moved the item to a new list with a different position.

TODO: Add support for multiple scope conditions when moving an item between lists. Refactor `check_scope` for clarity and DRYness.