feat: delete block endpoint

Blocks can now be deleted, if they have no references. A status
code of 204 is then returned.
A Constraint Error is raised by the metadata driver if there
are references, and 412 is returned as status code.

Endpoint:
    DELETE /v1.0/vaults/{vault}/blocks/{blockid}
Sqlite and all other metadata drivers either throw an exception, or dont return anything at all.
Swift returns False on exception, and True otherwise.
Disk return True or False as well.

delete_block here returns True/False or None (if there is a constraint Error)