Added function removeWorkerIfPresent.
Added some folds to Supervisor.
Moved supervisor actions in Workgroup to runWorkgroup.

Keeping them in a separate function just made it a
pain to have to jump back and forth.
Changed the contract of Workgroup for how worker quitting works.

Now workers *always* have to notify that Workgroup that they
have quite, regardless of whether they were active or not.
Now interrupts and thread kills are ignored by Process.
Now I use hslogger-template to generate the log function boilerplate for me.
Implemented support for using multiple processes for parallelism.