opencl: correctly test if no kernel name was specified in config.

Closes second bug squashed into https://github.com/veox/sgminer/issues/123
report.
log: mention non-user-settable kernel parameters in "Initialising kernel" notice.

Should help in the future for people who try to mix patched and unpatched
BFI devices.
log: warn on using kernel zuikkis with lookup-gap != 2.
opencl: reuse strbuf in initCl, get rid of poorly-named numbuf.
api: remove unused SCRYPTSTR.

Gets rid of compiler warning.
A new --no-client-reconnect command that disables the 'client.reconnect' function.
It looks like there's an exploit that abuses said command, but it is still not clear exactly how.

There's also an additional message when the reconnect happens: "WARNING: POTENTIAL CLIENT.EXPLOIT!", but it requires you to be actively monitoring your log to catch it, and in which case you already get a "Reconnect requested from Pool 0 to 127.0.0.1" message.

Note that disabling 'client.reconnect' might affect some pools that rely on the feature, like pools that you lease your rig to.

Oh and this is dry-coded. :)
stratum: move log warning under opt_disable_client_reconnect clause.
Added --pool-priority
Fixed configuration/command line parsing.
Added --coin pool parameter.
Revert "core: correctly parse boolean configuration values."

This reverts commit 8dd1c2d4aff5e40e4a87f59fa09f8de3f2232fc1.

Introduced a security bug: since CCAN/opt is used to parse the JSON
config (something it is not meant to do), it was possible to specify
the default of

    "api-listen":false

in .conf and expect the API to be disabled. However, since CCAN/opt
does not check for parameters to OPT_WITHOUT_ARG, this got set to
true anyway, and enabled the API on a (possibly unfirewalled) network.

For this reason, configuration options are not named uniformly.

This should have been reverted as soon as it became known:

4c4b909be6dd8643372ec683ec73f73725cb3a77 (Fri Feb 28)

Sorry for that.
pool: don't pass unused argument to sprintf() in add_pool().

Silences gcc warning.
opencl: update comment on generated binary file name.
opencl: check if gpus.kernelname has to be free()'d before setting.

In this case it doesn't, since the function is only used for config
parsing (I hope). Add the check to prevent a memory leak, just in
case this changes in the future.

TODO: Option parsing functions should really be moved elsewhere and
renamed appropriately, like set_opt_kernel() or config_set_kernel(),
if config parsing is to remain as-is. It will probably change
drastically, so leaving as-is for now.
Merge pull request #168 from troky/testing

--pool-priority, --coin and fix for #80
config: move `--coin` in config table (alphabetically).
misc: update NEWS.md (with what was added in #168).
opencl: move lookup-gap check for kernel zuikkis to after it is set from opt_lg.

Introduced by https://github.com/veox/sgminer/commit/89d641628b79f03b0520f0eb2586275a23420a0f

Closes https://github.com/veox/sgminer/issues/172
config: write `algorithm` to config if not default.

Closes https://github.com/veox/sgminer/issues/175
core: remove total_users, total_passes, total_userpasses (no longer used).

Silence gcc warnings.

Need for these accounting vars removed a few commits ago by troky.