Improved tracking URL generation to handle spaces in tracking numbers

Fixes #4233
Add changelog for #4233
Added nuance to shipping rate estimator Now distinguishing between $0 rates (possibly valid) and nil rates which could result in a huge loss to a store in a case where a $1000 shipping fee is reported as a nil by a bad calculator.

Also added an order-level model error message when no eligible
shipping rate is found.

Fixes #4239