SSM: Split stratum work division into 2D work manager ("work2d")
Add pool_has_usable_swork function
Hide blktemplate_t behind bfg_tmpl_ref to abstract reference counter
GBT: Use libblkmaker 2D work to service SSM and potentially other 2D work drivers
Move n2size from struct pool to struct stratum_work
Add pool and work_restart_id to struct stratum_work so they can be used independently of struct pool
Move "nonce1" session id from struct pool to struct stratum_work
SSM: Refactor _ssm_gen_dummy_work to work with struct stratum_work instead of struct stratumsrv_job
Move/rename _ssm_gen_dummy_work to work2d_gen_dummy_work
Avoid handling hex encoding in work2d
Abstract code from stratumsrv_mining_submit into new work2d_submit_nonce function
work2d: Standardised way to pad extranonce beyond what work2d manages
configure: Make work2d building abstract from libevent
work2d: Accept nonce difficulty with submissions
Merge branch 'work2d' into stratumsrv_scrypt
Rework test_nonce to share common logic for scrypt and SHA256d
SSM: Use a lower share difficulty in scrypt mode
Use a common enum bfg_gpio_value for both lowl-vcom (cts, dtr, rts) and mcp2210
dualminer: rename various things to be clearer
gc3355: Remove unused opt_hubfans variable