Return Invoices

We now support calculating return invoice taxes via Avatax and recording our return invoices in Avatax.
Also starts using the SOAP API, which has more functionality to allow us a better flow.

Flow is like this:

- Reimbursement triggers this extension in SpreeAvatax::Reimbursement.generate
- We make a call to Avatax to calculate and store an uncommitted return invoice
- We save the result as a SpreeAvatax::ReturnInvoice in the db
- The reimbursement model performs all the reimbursements and then triggers SpreeAvatax::Reimbursement.finalize
- We make a call to Avatax to mark the return invoice as committed and then update our model with committed=true