David usb bootloader fixes
This is an attempt at making the usb-bootloader.py script compatible both with Python3 and 2.7, eliminating all ambiguities about str/bytes along the way.
Alongside, some robustness options are added to the load target in the Makefile to avoid using bogus default serial lines or Python interpreters (which can now be overriden)