feat: add blockstorage capabilities

The client can now make calls to /storage/blocks endpoints of Deuce
Hmm, atleast in this case. When listing the Storage Blocks, I dont have the blockids, I can pass in the storage id when instantiating blocks. But if we want to have atleast one of them to be specified, I think the only way to go is to split Blocks into 'Blocks' and 'StorageBlocks'.

When having them co-located, we cannot specify any one of them to be enforced.