Minor rewrite of POSIX threadpool code to avoid overrunning the
jobs queue when a single task forks a large number of sub-tasks.

Cleanup to simplify code and avoid spinning while waiting for a job to
complete.
Changed posix_thread_pool from a queue to a stack

Also added more comments and untabified
Made the nested parallelism test do more work
Merge branch 'threadpool'