Add new 'woocommerce_pre_payment_complete' action

And an action to fire when order status != pending|on-hold|failed
Merge pull request #3828 from thenbrent/release-2-0-15-payment-complete-actions

Add new payment complete actions
Update woocommerce-core-functions.php

correct tables array
Merge pull request #3846 from ChromeOrange/release-2-0-15

Update woocommerce-core-functions.php
Increment later. Closes #3811.

Conflicts:
	includes/admin/post-types/meta-boxes/class-wc-meta-box-product-data.php
Fix subject + heading Closes #3841

@coenjacobs .15 please
Don't need reset_postdata. Closes #3822

As committed on master branch: https://github.com/woothemes/woocommerce/commit/77be2fc719b2da3e9fe88ea3da8b504f675cacad
wp_insert_post should have true as $wp_error parameter

Add `true` as $wp_error parameter for wp_insert_post, otherwise it returns zero instead of a WP_Error object and the checkout process is not stopped.

@mikejolley - the messages from WP_Error are not displayed or logged, making debugging this difficult. Maybe we should check WP_DEBUG and display the message if it is set to true? either that or actually use the logger in WooCommerce for the first time?