Improve tax rate reads on checkout

Worked with @RhysStansfield on this one. They were seeing very slow requests, about 20s, on checkout due to the store having hundred tax rates. This patch persists the `zone.kind` on the db and adds up a scope on tax_rate.match so we instantiate less ar objects.

// @JDutil 
We could simplify this to: 

```ruby
Spree::Zone.find_each do |zone|
  last_type = zone.members.where.not(zoneable_type: nil).pluck(:zoneable_type).last
  zone.update_column :kind, last_type.demodulize.underscore if last_type
end
```