Improve handling of blank and locked Kineits parts

Overhaul handling of blank and locked Kinetis parts.  Attaching to
blank or locked Kinetis parts should now work every time.  This patch
also adds the script 'blank_test.py' to verify the target init
is working correctly with locked and blank parts.
Improve handling of keyboard exceptions

Catch all exception when a problem occurs.  This makes resource cleanup
more reliable and allows KeyboardInterrupts to be caught.  With this
patch you can interrupt any script with Ctrl-C and the console will
no longer hang due to IO threads being left running.