Storage safety update
=====================

This build adds two output-space protections to the dumper:

1. Preflight free-space check before creating the output image
   - Option 1 checks that the destination volume has enough space for the full raw ISO target.
   - Option 2 checks that the destination volume has enough space for the XISO target.
   - Existing output bytes are counted as reclaimable overwrite space when replacing a prior dump.
   - A 64 MiB margin is added for sidecar/profile files and filesystem overhead.

2. Write-time and flush-time failure detection
   - Every fwrite used for dump output is checked.
   - If another program consumes space after preflight, the dumper fails immediately with source/output LBA context.
   - Before final verification, the output stream is flushed and committed with _commit().
   - fclose() and the final byte-count verification are checked before the dump is marked complete.

Expected failure mode when the destination fills during a dump:
  [FATAL] Output write failed during <phase> range.
  ...
  This commonly means another program consumed free space after preflight,
  the destination volume filled up, or the destination became unavailable.

Option 1 remains the full raw ISO path. Option 2 remains the smaller XISO path.
