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 
Currently by implying that if the zone is not country it will be scoped by state, no matter what, makes the method implementation way easier (a scope giving back ar relation). Dont think we need to worry about other scenarios now.