[FOLD]

Addressed comments in code review:
* Reused lock for condition variable, although it's not really usefully guarding anything as isStopped() is atomic.
* Added the predicate back into wait_for. This results in a speed up for shutdown and tests.
* Removed surplus constructor and destructor comments.