Merge pull request #44 from c1728p9/master

[Transport] Fix readMem and writeMem by writing to DP select
Close interface to prevent hanging on windows

In board.py the function uninit only closes the interface if an
exception occurs in either target.resume() or transport.uninit().
This patch moves the finally block running interface.close to
the top try block so the interface always gets closed.
This fixes the hanging commonly seen on windows.

This problem was introduced in the commit
f55ecc9bf9d9cb3fd380ab29774c1618a4f18eda - "Fix a different python
hang (on Windows) when an error occurred during the flash.init()."
Allow target to be explicitly specified

This patch adds an extra parameter, target_override, to
getAllConnectedBoards and chooseBoard in mbed_board.py and to the gdb
server.  This overrides the default target allowing the same mbed
firmware to be used to debug more than just the built in chip.  This
is particularly useful on platforms which have a jtag connector for
external debugging such as the Freescale FRDM boards.  This patch also
fixes spelling errors in the gdb server.