thread state coordinator: added simpler deferred stop notification method.

Now that ThreadStateCoordinator errors out on threads in unexpected states,
it has enough information to know which threads need stop requests fired
when we want to do a deferred callback on a thread's behalf.  This change
adds a new method, CallAfterRunningThreadsStop(...), which no longer
takes a set of thread ids that require stop requests.  It's much harder
to misuse this method and (with newer error logic) it's harder to
correctly use the original method.  Expect the original method that takes
the set of thread ids to stop to disappear in the near future.

Adds several tests for CallAfterRunningThreadsStop().


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@218897 91177308-0d34-0410-b5e6-96231b3b80d8
Add ENABLE_THREADS for these threaded tests

On at least FreeBSD linking with -lpthread is needed for std::thread.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@218899 91177308-0d34-0410-b5e6-96231b3b80d8
thread state coordinator: add tests and impl to error on creation/death issues.

Added tests and impl to make sure the following errors are reported:
* Notifying a created thread that we are already tracking.
* Notifying a thread death for a thread we don't know about.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@218900 91177308-0d34-0410-b5e6-96231b3b80d8
Fix stale comments in new tests.

Dang.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@218901 91177308-0d34-0410-b5e6-96231b3b80d8