Bootloader download/upload indication

The updated bootloader can indicate download/upload:

* RED LED flashes while data is written to the flash memory.
* GREEN LED flashes while data is read from the flash memory.

Since Arduino doesn't give much feedback during upload, you can watch your Hexbright. You can also see when Arduino is done uploading and starts downloading the code back to verify the write.

Most of the other commits reduce the size of the bootloader so that I could add new features. I also fixed a few bugs in the previous version.