thread-pool: re-work termination semantics to avoid problems.

We want a pre-spun-up, shared thread-pool that doesn't get its
workers created & joined frequently.

Change-Id: I29081e3a3e3849ca30e63fd080ee3315d99cbe8d