Make order-update concurrency safe

When two order-updates happen at the same time, we can loose one of the
updates without this change. This locks the row on select, ensuring that
any subsequent changes don't get overwritten.

ORIGINAL COMMIT: https://github.com/bonobos/spree/commit/be9bb2a6bcfc72f186e4641516fdd00fc2b724f0
ORIGINAL AUTHOR: https://github.com/magnusvk

Additional Notes: We discovered an issue with the Order API. Trying to get our change reviewed/accepted into Spree to minimize future upgrade pain points.