feat: HEAD /blocks/{block_id} endpoint

Depends on #132 

on a HEAD, the block is checked for existence in the metadata store,
after which its checked for existence in block storage.

- If present in metadata, and non-existent in block storage:
     502 Bad Gateway is returned along with an explanation.

- If present both in metadata and block storage.:
     200 OK is returned along with headers such as
     x-block-reference-count

- If not present in metadata:
     404 Not Found is returned
Oh, per my earlier comment I see the log error here. Shouldn't the details of the exception be captured when the exception is raised?