Reads size bytes from this blob, starting at offset, and returns them as a new ByteArray.
if offset and size are out of range for this blob, or if the read fails.