move country default to a model

fixes #5765
Remove unused check on product images

Only the @product.variant_images are used in the view.

@product.images is just the images on the master variant, which is
included in @product.variant_images

fixes #5766
fix n+1 for admin product images

include the variant includes

fix inconsistent indentation

use map instead of collect

Don't load @variants on index

They aren't used on index, they're only used in the form.

Pull out eager loads on index from others

We only access images through the variant_images association, which
isn't covered through the variants_including_master

Variants_including_master will speed up the form, and this will speed up
the index.

Cache the result of has_products?

Rather than calling it twice... which will hit the database

fixes #5723
Fix issue on checkouts controller.

This is a bug which occurs preventing orders from moving past the
payment state when promotions, or other adjustments are applied to the
order.

order.total is the amount to be paid, order.amount is the total of the
line items.

This issue was introduced in #5754

fixes #5768