pool.Close locks until routines are stopped

Further to the previous commit, I've split workerWrapper closures into
two calls. Close is now the first step which closes the job channel and
flags the worker routines to exit, then Join will lock the thread until
the worker has closed its ready channel and follows that with the call
to Terminate.