Use auto_ptr<> for pImpl
Eliminate redundant ThreadListElement class. It just contains
a Thread* and a ThreadListNode which contains itself?
Make thread main function a static class function to avoid
problems with accessing private members of ThreadPvt.
In this context "private" means used by the implementation
class only.