Cope with the API calling hfa on partially initialised devices having no info.
Keep the old hfa device data intact with a clean thread shutdown to allow it to be re-hotplugged with the old information.
Increase the opt_queue if we can hit the maximum amount asked for but are still bottoming out.
Bringing each hfa device online takes a lot of work generation so only ever do one at a time.
Set the work generation thread high priority, not the miner threads.
Increase the work queue at the top end if we've hit the bottom as well.
Add more information to a hfa bad sequence tail event.
Check for work sequence starvation as a false detection of a bad sequence tail on hfa.
Check for starved condition in hfa sequence progression and allow the tail to catch up.
Starvation is not the problem with a bad sequence tail on hfa so revert the attempt to detect it.
Use an early_quit function for shutting down when we have not successfully initialised that does not try to clean up.
Rework the pool fail to connect at startup to not get stuck indefinitely repeatedly probing pools with new threads and to exit immediately when any key is pressed.
Refresh the log window on pool failure message at startup.
Update NEWS
Document the hfa-noshed feature.
Bump version to 4.0.1