Support more than 64 parallel jobs (-j).

Windows WaitForMultipleObjects() can wait on max. 64 handles. This limitation is overcome by splitting the handle set into parts which are of adequate size, and spawning a thread which does the waiting.
Avoid creating a thread if remaining jobs can be placed in the same array as thread handles.

If we have to wait for, e.g. 65 jobs, first we create a thread which waits for first 63.
The remaining two can be waited on by the same WFMO call which waits for thread
completion. This will avoid creating 2 threads in this case.
Merge pull request #5 from jivancic/more_than_64_jobs

[b2] support more than 64 parallel jobs (-j)