bugfix flash to at32uc3 user page, add basic st support

There are multiple patches rolled into this pull request because many were created before dfu-programmer migrated to github.  These patches include:
 - bugfixes relating to flashing to the user page for at32uc3 devices
 - updating and streamlining the commands for interacting with dfu-programmer
 - adding a progress bar on flash and read
 - adding basic support for stm32 devices (only stm32f4 so far..)
 - adding the ability to convert binary to hex files (because we already have this capability when dumping / reading from the device)