bootloader: Use symbolic constants instead of magic numbers
bootloader: Add 2-clause BSD license file to apps/aootloader
bootloader sw: Refactor and handle command line arguments better

Refactor the USB communication into bootloader.[c|h].
Handle command line arguments for reset, verify, and setting VID/PID.

This commit involves a rename (main.c -> bootloader.c), so use:
	git log --follow
to track.
bootloader sw: Clean up Makefile
bootloader sw: Fix printf() warning in hex.c