cubicweb-worker #6476594 only use subprocesses to handle tasks [in-progress]

The current mix of threads and subprocesses is suboptimal and offers a complicated interface for little gain. By using subprocesses from the ground up we will simplify the overall implementation and bring the benefits of independant processes to all tasks.

prioritynormal
typeenhancement
done in4.0.0
load2.000
load left2.000
closed by<not specified>
patch[entities] stop returning the trinfo since we do not do anything with it [applied][utils] use psutil.Process.kill function which looks more robust than `taskkill` [applied][hooks] `ensure_workers` must also maintain more strongly the `running` attribute [applied][entities/perform] do not complete the task if it has been aborted [applied][tasks] add logging info to the tasks [applied]Remove the worker ping logic, which is now unneeded [applied]Track the task being performed by the worker [applied]Store the memory consumption of the worker process on the worker entity [applied]Avoid a performance issue in logs handling by providing a LogArchive entity [applied][views] guard against unstarted workers [applied]Retire the `long-transaction-worker` control option [applied][startprocess] detect if the parent is dead and then exit [applied][views] provide an ui action to delete all dead workers [applied][hooks] when deleting a running worker, ensure it is killed [applied][hooks] ensure there is always `config['processes']` running workers [applied]Drop dependency on subprocess cube and do the process management straightfowradly on the Worker entity [applied]Use 1 worker-1 subprocess system instead of the current mix of threads & subprocesses [applied]