Description
Currently, BlobStoreContract assumes empty byte array or stream is actually an error.
It makes everything harder to handle and there's nothing preventing to use nominal error handling in this case (either CompletableFuture exceptionally or simple exception).
We should change the contract and all implementations to fix that.