opencl: Optimised scrypt kernel ("zuikkis")

Only works with lookup-gap=2
README.scrypt: Document zuikkis kernel
opencl: Another optimised scrypt kernel ("psw")
README.scrypt: Document psw kernel
gridseed: Switch from the Queued miner loop to the Scanhash miner loop
Improves performance on Raspberry Pi
Fixes inaccurate hashrate estimates
Fixes bug overwriting work inadvertently
pick_unit: Avoid infinite loop when passed inf float
Merge commit 'cf07535' into bfgminer
Bugfix: Ignore last work time if pool is known to be down
Merge commit '8de42fc' into bfgminer
Bugfix: nanofury: Move the bitfury pointer back to the last element before starting the ramp up loop
nanofury: Only ramp up osc6_bits on multichip devices
Merge branch 'nf6_gradual' into bfgminer
Bugfix: Stratum: Use an error buffer on struct pool rather than the stack, so it remains valid for the lifetime of the connection
Merge commit '4f78cde' into bfgminer

Conflicts:
	util.c
Bugfix: Reset tv_idle on pools after test failure
Merge commit 'a4772ea' into bfgminer
Bugfix: opencl: Free allocated memory when done with it
opencl: Avoid printing empty build logs
opencl: bfg_clBuildProgram function to share common error handling (logging) code
Merge commit 'fac77b0' into bfgminer