Client: Provide utility methods for binary upload and download

It would be nice to have utility methods for client-side binary transfer, e.g.

  • UUID binaryTransferUuid = BinaryTransferUtils.uploadBinary(BinaryUploadBlockingStub stub, byte[] bytes)
  • byte[] bytes = BinaryTransferUtils.downloadBinary(BinaryDownloadBlockingStub stub, UUID binaryTransferUuid)
  • InputStream byteStream = BinaryTransferUtils.downloadBinaryAsStream(BinaryDownloadBlockingStub stub, UUID binaryTransferUuid)

I haven't thought about the details yet. This would be nice to have for all types of stubs (not only blocking), and maybe with chunk size as parameter, direct download as byte[], streamed as InputStream, and so on.