added crc check for download
[feature] a few improvements on the luftboot bootloader and host program
-speed improvement by optimizing the bwPollTimeout for each command
-transfer integrity using CRC (evry block is now checked for error)
-programming integrity using CRC, the whole bin and flash memory are checked.
-better error handling by returning different error STATUS:
*VERIFY when CRC check is false
*ADDRESS when provided address is out of flash range
-changed led pattern, 3 are dancing, 2 blink for flash erase/program

TODO:
-switch to stm32 crc32 engine,
 check if the formula in binascii.crc32 give the same results
-add CRC to small commands (erase, set address, crc, crc_full)
 as they give frequent error. and error detection is only base
 on addresse outside flash range.
-add an ID(text) to each firmware so it is impossible to upload the wrong
 plane with a wrong firmware