When ignoring the end of a file, make sure we don't ignore partial words.

Consider a 128-byte write to the chip.  If the last 2 bytes are
considered "empty", then `len` is adjusted to 126, and `run_flash_loader`
will only copy 126 bytes to RAM.  However, `run_flash_loader` then
proceeds to round up to 32 words (128 bytes) when flashing, which has
the effect of clobbering those last two "empty" bytes with junk data.