ztex: if we had only errors in one round we do not count the errors

to detect a totally non working fpga we only do that if the last
round had some valid nonces.

if we would count the errors the automatic megahertz adaption
would drop and never recover.
driver-ztex: react to new work in 10ms and not 250ms
driver-ztex: only reset errors if there are some

Only check the errors and print the log message if
there actually were errros.
Create the hash queued work variant for use with devices that are fast enough to require a queue.
Create a fill_queue function that creates hashtables of as many work items as is required by the device driver till it flags the queue full.
Create a central point for removal of work items completed by queued device drivers.
Flush queued work on a restart from the hash database and discard the work structs.
Add a driver specific flush_work for queued devices that may have work items already queued to abort working on them on the device and discard them.
Add comments.
Add the choice of hash loop to the device driver, defaulting to hash_sole_work if none is specified.
Merge remote-tracking branch 'conman/master' into bflsc
Merge branch 'usb-dev' of github.com:ckolivas/cgminer into usb-dev
Merge branch 'usb-dev' into queued_work
Add a get_queued function for devices to use to retrieve work items from the queued hashtable.
Merge remote-tracking branch 'conman/queued_work' into test
BFL stop 1st init command if no device
Merge pull request #388 from kanoi/bflsc

BFL stop 1st init command if no device
Merge branch 'master' into usb-dev
Merge branch 'master' into usb-dev
Merge branch 'master' into usb-dev