Pyusb backend fix for using EP0

Instead of raising an exception when no OUT EP is present, the
pyusb_backend will  use the control endpoint for HID OUT transfers.
Tested withNRF mkit.
Added comments and intermediate variables
Merge pull request #40 from NordicSemiconductor/master

[pyUSB] Pyusb backend fix for using EP0