Icarus CMR2 detect FPGA setup
Limit ms_tdiff to 1 hour as a sanity check.
Use libusb's own error name function instead of hand coding the error names.
Display errors on failed usb read and write and consider sequential IO errors a permanent failure.
Further smooth out avalon hashrate by limiting the maximum number of nonces counted each cycle to 1 per miner, saving them for later cycles.
Revert "Further smooth out avalon hashrate by limiting the maximum number of nonces counted each cycle to 1 per miner, saving them for later cycles."

This reverts commit 7be59992c121a61e56402cec21508e39401fad6c.

Of dubious utility since a full nonce range is not scanned before loading more work.
Check return values when attempting to open a BF1 device and set the msg size as a macro.
Failing to add_cgpu in bitfury should be a terminal failure.
Make the bf1 getinfo size a macro
Kill off threads that have failed using hash_sole_work instead of just disabling them.
CMR allow sending flash and clock commands
API-README update pgaset, pgaidentify and ascset docs
Merge pull request #501 from kanoi/cmr

Cairnsmore1 support clock/identify commands via the API
Check for presence of driver name in DRIVER_COUNT_FOUND to prevent strcmp on a null pointer when a driver is not built in.
Use fractional hashrate return values in bitfury_scanhash to minimise the number of times we return 0 based on hashrate so far to further damp out displayed hashrate.
Merge branch 'master' into async

Conflicts:
	usbutils.c
We are always dependent on libusb handling events so use the blocking libusb_handle_events in the polling thread and use a bool to know if we should continue polling.