new thread pool jobserver integration

std.Thread.Pool: back to spawning all threads in initialization because
it's overall simpler. This scheme requires init to be passed a pointer
to the struct.

std.process.Child: implement integration with thread pool jobserver. The
environment variable is called `JOBSERVERV2`. The API works based on
assigning a thread pool to the child process.

build runner: store the thread pool in std.Build.Graph so that it can be
passed to child processes during the make phase.

Fix not allocating +1 pollfds in previous commit.
e51fd6728fAndrew Kelley committed on 6/30/2024, 8:54:02 PMparentc395df2
11 files changedLine totals unavailable