Execute `woocommerce_order_action_{$action}` only once

Prevents a “Maximum function nesting level reached” fatal error in
certain cases.

Since this ends up running on `’save_post’`, updating something like
the order status while hooked onto to
`woocommerce_order_action_{$action}` causes a fun recursion :)
Update form-tracking.php
Update form-tracking.php
Merge pull request #6901 from MindyPostoff/master

Update form-tracking.php
Fixed the wc_update_new_customer_past_orders() function, closes #6903

get_post_status() returns post status (string) or false (bool) on failure.
Fixed the coupons tests and improved the tax tests
clickable item name in orders table
add order_item_visible_filter

In line with the existing 'cart_item_visible' filter.
Merge branch 'breadcrumbs-class'

Adds endpoint page titles for #5522
Fixes link back to endpoint pages and closes #6638
Avoids need for breadcrumb fix which closes #6834
Removes the need and closes #6834
Fixes #6840
Adjust wc_timezone_string to use is_dst and return the timezone when not false. Only fallback to UTC when needed.

Fixes #6897
Merge pull request #6908 from franticpsyx/order_item_visible_filter

[2.3] Add order_item_visible_filter
Merge pull request #6905 from SiR-DanieL/patch-2

Clickable item name in orders table
Merge pull request #6875 from tamarazuk/limit-order-action

Execute `woocommerce_order_action_{$action}` only once
Fix timezone_name_from_abbr unit test
Correctly show terms when attribute has outfit chars Closes #6872
Fix purchase note output

Fixes #6835
Delete cached sessions when clearing expired sessions
Fixes #6907
only delete sessions from object cache if using persistent object cache
ajaxified coupon removal on checkout page for better UX closes #6881
Merge pull request #6911 from splashingpixels/checkout-coupons

ajaxified coupon removal on checkout page for better UX closes #6881