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.
Merge pull request #207 from jimparis/master

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