Corrected duplicated settings_page() content

Replaced duplicated call to `array( $this, 'settings_page' )` with `null` to prevent the HTML from being printed to the admin settings twice.
Add woocommerce_product_visibility_options filter

Matches filter used in class-wc-admin-post-types.php
Update class-wc-coupon.php

If you loaded custom coupon data using the  `'woocommerce_get_shop_coupon_data'` filter. Only `$coupon->amount` was set. While the 'normal' coupons loaded from the database get both `$coupon->coupon_amount` and `$coupon->amount` set.

This change also adds `$coupon->coupon_amount` for in code generated coupons and allows functions using the `'woocommerce_get_shop_coupon_data'` filter to use either `amount` or `coupon_amount`.
Update class-wc-coupon.php

add middle statement to ternary operator has ommitting this is only supported since PHP 5.3 and WooCommerce requires >5.2.4
Update to fix #5911

Missed get_term_by calls with slug, reverted to wc_get_product_terms (get_the_terms, whilst great for performance, bypasses all the special sorting implemented by the former).
Merge pull request #5755 from doublesharp/patch-1

Corrected duplicated settings_page() content
Merge pull request #5788 from kilbot/patch-1

Add woocommerce_product_visibility_options filter
Check for array

Closes #5890
Merge pull request #5869 from wilgert/patch-1

Update class-wc-coupon.php
Merge pull request #5921 from southan/master

update to fix #5911