Add support for canceling/deleting system-generated invoices

When cancelling a confreg or memebership invoice, we need to actually
unlink it from the system that generated it, and not just flag the invoice
itself as deleted.

Also generate an email for cancelled invoices, so the person who originally
got it knows it doesn't need to be paid anymore.