Check device data exists on a hfa instance before trying to reinit it.
API - add edevs and estats - to only show enabled devices
Merge pull request #560 from kanoi/master

API - add edevs and estats - to only show enabled devices
Drillbit driver: Add support for Avalon-based Drillbit miners
Drillbit: Add support for protocol V4, with device-agnostic board configuration data
Drillbit: Combine split USB transfer for sending new work, reduce overhead
Drillbit: Remove default config in cgminer, rely on defaults in firmware
Drillbit: Fix typo in previous commit
Drillbit: Add --drillbit-autotune option for device to dynamically alter clock speed
Drillbit: Fix some warnings
Fix Windows bug with libusb_reset_device returning SUCCESS for disconnected device

Symptoms (new in latest libusb perhaps) on Windows 7, using WinUSB
v6.1.7600.16385 kernel driver:

- Unplug device during mining
- libusb read/write operations return -1 LIBUSB_ERROR_IO
- libusb reset returns 0 LIBUSB_SUCCESS

... hence the error checking ends up infinite looping (or until
timeout) trying to issue a reset, as it believes each reset has
succeeded.

This change only allows a reset once per failed read or write
operation - if the first reset fails, don't bother trying again.

Conflicts:
	usbutils.c
Drillbit: Move drillbit_empty_buffer calls to only when errors occur, were limiting performance on Windows
Drillbit: Limit work sent out to 8 units in a single pass, was DoSing a full double scroll
Drillbit: Add Avalon & drillbit-autotune notes to ASIC-README
Drillbit: Output warning if board reports void warranty
Drillbit: --drillbit-auto parameter for tweakable custom tuning of ASIC speeds
Drillbit: Fix accidental over-counting of HW errors
Drillbit: Change language around 'void' to warning about limiter disabled
drillbit - minor code tidy up
drillbit - remove warnings