Add filter to control order stock reduction when payment is complete

Adds a 'woocommerce_payment_complete_reduce_order_stock' filter that controls whether stock is reduced for an order when WC_Order::payment_complete() is called. This is needed for pre-orders because order stock is reduced immediately on initial checkout (even though payment_complete() is not called) for pre-orders that are charged at a later date. When the pre-order is completed, the gateway calls payment_complete(), which reduces the stock again.