Ported pthreads-based inferior to std::thread.
Adjusted TestCreateAfterAttach accordingly. The thread numbers with std::thread are not deterministic, so instead we check which functions the stopped threads are in.
This uncovered that stepping over a breakpoint was broken on Windows because it was expecting the thread resume state rather than the temporary resume states to change. This was fixed. (This seemed to work in the past, until my change from a couple weeks ago which stopped TargetWindowsThread::WillResume from stomping the thread resume state.)
Removed slightly misleading Windows-only logging message.
TestCreateAfterAttach now works on Windows except for some lingering POSIXisms in lldbtest.py. I'll address those in a later patch.
I thought these thread numbers are assigned by order of creation. When you say non-deterministic, do you mean the new thread notifications (if it exists on Windows), come in non-deterministic order? Even if the thread creations are separated by a long interval?