Add some more db indexes to assist with query performance

Fixes #4338
Add some more db indexes to assist with query performance

Fixes #4338
in order.finalize! method use close method for adjustmens, it make work state machine callbacks when need

Fixes #4341
Ensure prices with currencies displayed do not break variant radio buttons on cart form

Fixes #4342

Conflicts:
	frontend/app/views/spree/products/_cart_form.html.erb
Cache keys based upon current_currency & only fragment cache products#show.
fix the pending spec with unscoped
Fix empty taxons by using to_i rather than number string.
MailMethod auth type names shouldn't be localized

It raises error when using the store in non-english locales. Ruby
Net::SMTP will call a method based on that string value

Fixes https://github.com/spree/spree_i18n/issues/367
Add tax categories to shipments so that they are taxed correctly
Move Spree::Zone class methods to the top of the class

This is where I expect them to be
Show tax amounts within shipping rates
Add a test for tax rates adjusting twice in state_machine_spec
Remove double looping over tax adjustments in checkout/summary
Correct reference to tax category for Shipment
Account for situations where more than one tax rate can be applied at once
Add pre-tax amount to line items and shipments
There's more 'included in price' taxes than VAT (i.e. Australia's GST)
Remove test for tax_category in default_tax_spec

The check for relevant tax categories is now done in the TaxRate model
Correct default tax promo total spec
Calculating shipment + line item tax in DefaultTax is now combined into 1 method

Rather than two methods which do the exact same thing, just with different object names