service, dns: Fixed a misleading button, handle deleted services' invoices correctly.

`55e1acc`:

We can create a new block inside of the base DNS management page, and that holds the delete button - so we can override this in any sub-files, in case we need to.

In this case, the delete button had an ambiguous cause, so people had been deleting DNS zones, while intending to just delete a single record.

Now the button is both more specific and has a different cause, so users are less likely to throw their mouse on the wrong button.

`aefd432`:

This commit was submitted earlier in a PR but it wasn't done correctly... now, we take all invoices linked to a deleted service, and handle them in a way that won't cause issues.

Paid invoices are kept around, with their `InvoiceItem`s unlinked from the service that is being deleted.

Unpaid invoices are just deleted entirely - there's no point in keeping them around because paying them is paying for nothing.