Fix release ONHOLD sold units

1. Put counting $quantity before change state :) coz we never release ONHOLD.

2. When backorders are off and you try to buy last product-variant (on_hand=1) not available on demand (available_on_demand=0)
inventoryOperator->decrease($units); throws InsufficientStockException
isStockSufficient function doesn't know that ONHOLD units waiting for our order.

We can release ONHOLD units before decrease (like in this PR)
or we should send to decrease fucntion $quantity var.