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}
fix: delete from storage as well as metadata

Delete from storage, and if it succeeds delete from
metadata.
Change disk storage driver to return False if the block
didnt exist and return 404 if it ain't present.
fix: Constraint Error

per Xuan's comments
Add "Constraint Error" keyword in exception msg
Merge remote-tracking branch 'upstream/master' into block_deletion_endpoint
add: x-file-length header on finalization of file
rm: unused imports
add: exception handling on metadata - block delete
move exception handling to controller
Merge pull request #125 from TheSriram/block_deletion_endpoint

feat: delete block endpoint