Add 'with' support to board

Add support for the 'with' statement to board.py.   Using a 'with'
statement guarantees that resources associated with the board
are cleaned up.  The function uninit can still be used as an
alternative (or in addition) to the 'with' statement.
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.
Merge pull request #76 from c1728p9/master

Fix attaching to blank and locked kinetis parts and other things
Update README.md to an actively developed fork
Merge pull request #79 from bremoran/master

Update README.md to an actively developed fork of cython-hidapi
Allow GDB server to recover from SWD faults

Add a new exception type which gets thrown when an  SWD fault occurs.
Modify GDB server to catch this exception and return an error to
the gdb client.  This allows memory that can be turned off, like
certain peripheral memory, to be accessed without the risk
ending the debugging session with an SWD fault.

This patch also adds code in cmsis_dap.py to clear the dap STICKYERR
flag when  a SWD fault occurs.  If this is not done all future memory
accesses result in an SWD fault since the error bit remains set.
Add with statement to prevent hang in gdb_server

Guarantee board resources are cleaned up in gdb_server.py by adding a
with statement.  If an exception occurs the board will get closed so
the console will not hang.
Merge pull request #78 from c1728p9/master

Allow GDB server to recover from SWD faults and prevent gdb server from hanging
Add support for data breakpoints

Add cortex-M and GDB support for data breakpoints.
Merge pull request #81 from c1728p9/master

Add support for data breakpoints
Add support STM32f051 chip and fixed clocks running issue when debug halt on stm32f103rc
Merge pull request #83 from wjzhang/master

Add support STM32f051 chip and fixed clocks running issue when debug hal...
Fix SWD fault when connecting to locked Kinetis

When initializing a locked Kinetis processor CortexM.init must not
access system registers until the device is unlocked.  This patch
modifies the call to CortexM.init in the Kineits init so it does not
try and initialize data breakpoints.  This fixes a SWD fault when
running blank_test.py.

This problem was introduced in the commit
907940d7d739f8f90aa7c20356cedc520eddddf4 -
"Add support for data breakpoints"
Merge pull request #87 from c1728p9/master

Fix SWD fault when connecting to locked Kinetis
Merge pull request #1 from wjzhang/master

Update mesheven pyOCD