Update flash tool to add featues and increase perf
Update flash tool to add featues and increase perf

Update flash_tool.py by doing the following:
1. Use unified flashing code so programming occurs faster and uses
    tested code
2. Remove unnecessary Kinetis unlock code.  Unlocking is now handled
    automatically when connecting to the board.
3. Add hex file programming support and new command line arguments so
    flash_tool.py has the same features as flash_nrf51822.py
4. Display progress when programming

oliviermartin/pyOCD,devanlai/pyOCD,oliviermartin/pyOCD,tgarc/pyOCD,adamgreen/pyOCD,matthewelse/pyOCD,wjzhang/pyOCD,matthewelse/pyOCD,mesheven/pyOCD,0xc0170/pyOCD,bridadan/pyOCD,molejar/pyOCD,mesheven/pyOCD,geky/pyOCD,geky/pyOCDgdb,mbedmicro/pyOCD,c1728p9/pyOCD,flit/pyOCD,mesheven/pyOCD,c1728p9/pyOCD,devanlai/pyOCD,wjzhang/pyOCD,bridadan/pyOCD,geky/pyOCD,bridadan/pyOCD,mbedmicro/pyOCD,molejar/pyOCD,c1728p9/pyOCD,oliviermartin/pyOCD,pyocd/pyOCD,wjzhang/pyOCD,flit/pyOCD,0xc0170/pyOCD,devanlai/pyOCD,pyocd/pyOCD,mbedmicro/pyOCD,adamgreen/pyOCD,molejar/pyOCD,matthewelse/pyOCD,0xc0170/pyOCD,geky/pyDAPLink,adamgreen/pyOCD,tgarc/pyOCD,tgarc/pyOCD