Massive refactor to make things more go-like

* Workers communicate via channels
* Drone -> WorkerUnit is now multi-process (!= threaded)
* signals are handled correctly