Adding missing singular/plural names for models in core

[Fixes #3674]
Make default tax not apply to non-matching zones.

Tax Rates can be flagged as a default tax rate, and it will apply to
all orders if there is no information to base a tax rate off of.

However, once we have enough information to determine the appropriate
tax rate for a user (i.e. a tax_address, which is the billing address
or shipping address) we should use that to determine the tax rate
which will apply.

Previously, the default tax rate would match for all orders regardless
of the zone specified in the order.

[Fixes #2335] [Fixes #3669]
Only build ship_address if order has delivery step

Stores which redefine the checkout workflow and remove the delivery step
usually don't care about the shipping address. This should avoid
shipping address validation errors because the order could try to save
an empty shipping address

Fixes #3689