Generalise WorkerManager some. Changed formatting to how I like it.

Mostly renaming stuff, will have to see if any logic changes are needed.
Should now work the same for all races. Renaming required changes to
other files.