Fill the program page with 0xFF values prior to loading the sketch data.

Program the last block of sketch data even if it didn't fill the program
page.
Fix return values for failures.
Increase the timeout when waiting for a reply to the initial request
from the server. The server may need some time to calculate the CRC of
the sketch to return in the response.

Support timeouts of increasing period when waiting for a reply to the
data requests from the server.
Resolve GCC error for "local frame unavailable (naked function?)" with
avr-gcc 4.7.2.

Has something to do with passing a pointer to the local dreq variable in
the sendPacket() function call. Just make the dreq variable global
instead.
Set the clock prescaler to divide-by-1 prior to executing the
application.

The Arduino initialization does not set the clock prescaler and expects
the clock to be running at full speed. The standard Arduino board
configurations don't program the clkdiv/8 (CKDIV8) fuse bit in the fuse
low byte, but this bootloader does.
Clean up comments.
Pull the initialization (that only needs to be done once) out of the
run() function and into a bootinit() function.
Merge pull request #1 from gsgeschke/master

Bug fixes and improvements for jeeboot