Split out STKV2 protocol into sub-files.
Fix CLI interface core: show usage only if no commands given.
Fix PROGRAM CLI command parsing: raise exception if no filename given.
Split out Atmel AVR8 DFU protocol into a new sub-folder.
AVR8DFU Protocol: Chunk reads/writes in 512 byte chunks to the device.
DFUV1 Protocol: Show useful error messages if the bootloader is write-protected.
Move page alignment code from the protocol to the upper interface layer to avoid duplication.