Create discrete persistent submit and get work threads per pool, thus allowing all submitworks belonging to the same pool to reuse the same curl handle, and all getworks to reuse their own handle. Use separate handles for submission to not make getwork potentially delay share submission which is time critical. This will allow much more reusing of persistent connections instead of opening new ones which can flood routers. This mandated a rework of the extra longpoll support (for when pools are switched) and this is managed by restarting longpoll cleanly and waiting for a thread join.