api: allow -b <ip>, and set bind retry to 20sec

before, only -b <ip:port>, <port> or 0 (disable) was allowed

easier to set -b 0.0.0.0 with default port

(cherry picked from commit d09ec4125117f260a8c33cea5e0c980d5007de81)
solo: stop submit of solved blocs (stale work)

rejects in solo mode often means "generated block is stale" (see Debug.log)

Most of current wallets only reports "rejected" reason without explanations.

So prevent this common error,
you can turn off this gbt feature (height check) with --no-gbt option.

(cherry picked from commit 7a0f7ab276e613a512c40c1992a4567dec3550d5)
Fix whirl algo

(cherry picked from commit 9b5d3bf5284f519c0f4da286e6ca76d22e67a1b2)
qubit: fix wrong pool difficulty

hmm... this is weird, should be 256 but make bad shares on pool diff 2

(cherry picked from commit 150d6eb2900e5ea7810356a78412607d2b8bb935)
Intelligent duplicate shares check

Only enabled on first duplicate share

(cherry picked from commit f08bd79a6eb544ca4e8224f707bb1a016b94dabb)
api: add kernel version for linux

(cherry picked from commit 5cbf239d8a4644e5b701d00c381235ca7ffc6598)
Fix to build with nvcc in path (crux)

(cherry picked from commit f761531436d1e2dde6996918af7db0a738d9a813)
api: add fan rpm (windows nvapi only)

(cherry picked from commit ec454dd78c0eb6a29366ae73d544d2151d018e53)
Merge branch 'tmerge' into windows