Fixing the memory leak for remaining semaphores means we can go back to using async transfers on other OSes with our own timeout management again.
Update NEWS.
Bump version to 3.6.4
Convert libusb transfer errors to regular libusb error messages to allow for accurate message reporting.
Merge branch 'master' into hashfast
Updates to hf_protocol header
Implement reading of a whole hashfast packet from the read thread and parsing it, implementing parsing of gwq status.
Implement update_die_status message parsing for hashfast.
Improvements to support for BitBurner boards

--bitburner-fury-options allows avalon-options to be overridden for
BitBurner Fury Boards, facilitating simultanous use of BitBurner XX
and BitBurner Fury boards

More sensible defaults for BitBurner boards, so cgminer should do something
sensible without any command line args
Implement OP_NONCE processing in hashfast driver read thread.
Move to consistent function names hfa_ for hashfast driver.
Code cleanup and improved documentation
Implement update_die_statistics for hashfast driver.
Add op stats1 processing for the hashfast driver.
Remove unused statistics from hashfast driver struct and don't pack hashfast info structs since there is no need for them to match the device ones identically.
Implement a shutdown routine for the hashfast driver.
Do the ntime binary modification to the work struct when submitting an ntime offset nonce within submit_noffset_nonce
Do the ntime binary modification to the work struct when submitting an ntime offset nonce within submit_noffset_nonce
Add hf_usb_init_base info to hashfast api output.
Add hf_long_usb_stats1 to hashfast api data.