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}
If we returned a False there, we probably wouldnt be able to distinguish if we would need to return a 500 or 412. I considered returning a Tuple of (constraint=True/False, succ_storage=True/False)
But then that would expose some implementation details to the controller, which I did'nt want it know.