Use fifo + read to determine when to start a new build
Parallelisation now uses a fd ipc, while here parellelize the builders startup
MASTERMNT might not be set in 2.3.x, check JAILMNT too
wait will wait for all children and this was not actually waiting on any specific children, so no loop needed.
read can be interrupted workaround it to make siginfo work again

Submitted by: jilles
Merge in new parallel code and IPC queue