bugfix flash user, update commands, add progress, add stm32 support, add dump hex

There are lots of changes rolled up into this pull request.  The major changes include:
- updating the flash / read algorithm to add support for writing to the user page (and a progress bar)
- adding basic support for stm32 type devices (although this is not perfect)
- add ability to dump memory contents as a hex file (and ability to do hex / bin conversions although these commands were not added to help menu because they are primarily for code debugging)