Merge pull request #46 from c1728p9/master

[Board + gdbserver] Fix hanging on windows and allow target to be specified explicitly
Update usage of PyOCD to pyOCD
Merge branch 'master' of https://github.com/mbedmicro/pyOCD

Conflicts:
	README.md
Merge pull request #47 from sg-/master

Change usage of PyOCD to pyOCD
Add halt and resethalt during flash program
Merge pull request #49 from ECNU3D/master

[TARGET] Fix #48 for unexpected program running (reset and halt)
Device needs to be opened before being accessed for read/write.
Merge pull request #52 from janekm/master

Device needs to be opened before being accessed for read/write.
Fix for older versions of HIDAPI (still current in homebrew on Mac) which don't support the open method.
Merge pull request #56 from janekm/master

Fix for older versions of HIDAPI
Added installation instructions for MacOS.
Merge pull request #58 from anpilog/installation_requirements

Added installation instructions for MacOS.
Fix hidapi interface. Return all available boards. Use USB path instead of serial number to identify board.
Update flash_nrf51822.py.
Use actual offset 0x16000.
Add "erase", "offset" and "skip" options for binary file for flexible operations.
Add "list" command line option to list available boards.
Add boardId to MbedBoard.listConnectedBoards() method.
Merge pull request #60 from anpilog/fix_hidapi_interface

Fix hidapi interface
Prevent flash security check from locking target

The function checkSecurityBits returns 0 when the flash settings would
lock the target processor.  This in turn causes programPage to return
without programming the current page.  The problem with this is
on Kinetis processors, if the security byte is erased it will lock the
part.

This patch renames checkSecurityBits to overrideSecurityBits.  Data
to be flashed is passed into this function which modifies the security
bits to a safe value, and then returns the new data.
Add resume parameter to Board.uninit

When uninitializing a board, it is not always desirable to let the
processor run.  This patch adds the parameter 'resume' to Board.uninit.
This allows the calling script to uninitialize the board without
letting it run.  This is useful if you want to keep the board halted
when running a series of scripts.
Add software reset to Cortex M processors

Add an optional software reset parameter to the functions reset and
resetStopOnReset.