Filter JSON search customers query

Because the json_search_customer_name action is in the scope of $this, and there's no instance of it to allow remove_action() to play nicely with, it's really difficult to modify this query.  And, unfortunately, it's quite non-performant on large user tables.

One possible option would be to allow users to filter this query directly.  This PR reflects that approach.

For reference: https://gist.github.com/curtismchale/9470986, #5095
Move loop_end hook as it is generic and used in all WP loops
lingering tooltip after gallery image delete fixes #5124
Filter the filename Closes #5074
Move plugin headers to main WC POT file Closes #5073

Languages will need updating.
Item meta list classes Closes #5083
Correct discount calculation in admin when fees are involved. Closes #5103
Merge pull request #5129 from splashingpixels/product-gallery-images

lingering tooltip after gallery image delete fixes #5124
Fix sale flash for out of stock sale items Closes #5119
Merge pull request #5097 from JustinSainton/patch-3

Filter JSON search customers query
frontend add to cart variation jshinted and coding standards
frontend add to cart jshinted and coding standards
Merge pull request #5148 from splashingpixels/jshint

Jshint
min
Use protocol relative URLs in the cart widget because it gets cached and can display on https or http pages Closes #5135
Use is_purchasable to determine if a variation cart button is needed, and potentially show empty_price_html Closes #5137
Fix term recount during WP callbacks Closes #5133
Convert states to strings for PayPal Closes #5078
Hide empty at walker level #5028
Fix term count corrections when a count is 0 #5028