feat: change naming convention between metadata and storage

metadata now stores both blockid and storageid.

The block is now referred in the metadata as blockid (as before)
The block is referred via its storageid in block storage. i.e The block
is stored by the name of storageid

The storage id is generated using a uuid5, which uses a default namespace of
uuid.NAMESPACE_DNS and blockid as the name.
That would probably mean moving the logic outside the model and pushing it down the drivers themselves right?