Initial hidapi implementation.

- Implemented hidapi interface backend for Mac OS X. Requires
  cython-hidapi Python package.
- Fails to connect to KL25 with a “SWD Fault” error.
Added tags files to .gitignore.
Change Windows usb backend to hidapiusb

Signed-off-by: Michael Minnick <michael.minnick@freescale.com>
Improved USB backend selection logic.

- hidapi is preferred on Windows, but pyWinUSB will be used instead if
  hidapi is not present.
- The user can override the default USB backend selection by setting a
  PYOCD_USB_BACKEND environment variable.
- Moved logic to select USB backend to interface.__init__. mbed_board
  now just imports the preferred backend name.
- Added isAvailable flag to all of the USB backend modules, which is
  also copied into the backend classes.
- Some minor cleanup of hidapi_backend.
Minor improvements to basic_test.py.

- Inserting parent dir into sys.path so local development version of
  pyOCD will be preferred.
- Initing board variable.
Merge pull request #7 from flit/dev_hidapi

Dev hidapi