Do not attempt to clear a usb halt before sending the cancel message since all transfers should normally be cancelled before attempting to clear a halt condition, and only change the return message to a timeout if it's consistent with a cancellation.
Add a small amount to the usb timeout before cancelling to allow for a regular usb polling interval to pass.
Avoid calling get_statline on exit.
Avoid calling get_statline_before on exit to avoid trying to use it on drivers in an indeterminate state.
changes to bitburner driver for bitburner fury boards
using separate identifier for bitburner fury boards
increasing max miners for avalon driver (properly this time)
Make pthread conditional timeouts handle all bulk usb transfer timeouts performing libusb_cancel_transfer, disabling timeouts within libusb itself.
Merge branch 'master' into libusbx

Conflicts:
	api.c
	cgminer.c
	miner.h
	usbutils.c
klondike - display MHz also
Klondike - extra zero value and range checking in temp conversion
Klondike - increase circular read buffer size
Merge pull request #502 from kanoi/master

Klondike temp checking and read buffer size
Convert all usb control transfers to asynchronous communication with our own timeout management as well.
Merge branch 'master' of github.com:ckolivas/cgminer
Merge branch 'master' into libusbx
Add a hash_driver_work function to allow for drivers that wish to do their own work queueing and management.
Convert the bitfury driver to use the hash_driver_work version of hash_work.
Provide a lower level __bin2hex function that does not allocate memory itself.
Use stack memory in test_work_current, avoiding a malloc/free cycle each time.