fix(dd): ensure full block writes to handle partial writes to slow pipes
Addressed a bug in `dd` where partial writes to a slow pipe reader resulted in truncated output. Modified `write_block` in `Output` struct to retry writing until the full block is written, ignoring the `fullblock` flag for output operations. This ensures data integrity even with slow readers, matching GNU `dd` behavior. Fixes issue observed in tests with mismatched MD5 sums and partial record counts (e.g., `0+1 records out`).