Add dry-run mode to InvoiceConstructor.
Make InvoiceConstructor an interface implemented by the .invoicing package. It will assist in invoice generation through the REST API.
Re-implement the POST accounts/.../invoices call to not accept an invoice to save, but to generate one on the spot. Allows a "dry-run" option that must be "false" in order to actually save the invoice and other updated fields to the database.