Untested changes.  Removed all calls to printf which saved over 1kB of program space! The bootloader is now < 3kB when built so we can now steal 4kB instead of 8kB :D (leaving 120kB for the application)