add validation to verify that count_on_hand of backorderable should not go negative if it is not backorderable

Fixes #3808
add a before_transition to verify if order is resumed only if there are no insufficient stock lines
Fixes #3819

Conflicts:
	core/app/models/spree/order/checkout.rb
Fix conflict.