improvements to cleanup avatax spree code

1) Do not send anything to avatax if no shipping address or empty cart.
2) Return 0 in compute_order if there is any error instead of using default spree calculator
3) Introduce a avatax_invoice_at to differentiate the SalesOrder vs SalesInvoice request to Avalara (one is recorded, one is not)
4) Trying to improve tests.

NOTES: I tried consolidating the logic of caculator/avatax.rb#compute_order and the commit_avatax_invoice in the order_decorator. They are 90% similar until you run into problems with calling the self.rate. Worth another attempt later.