Create a HostThread abstraction.

This patch moves creates a thread abstraction that represents a
thread running inside the LLDB process.  This is a replacement for
otherwise using lldb::thread_t, and provides a platform agnostic
interface to managing these threads.

Differential Revision: http://reviews.llvm.org/D5198

Reviewed by: Jim Ingham

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217460 91177308-0d34-0410-b5e6-96231b3b80d8
Try to fix the FreeBSD build.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217462 91177308-0d34-0410-b5e6-96231b3b80d8
Include the correct headers for kinfo_proc on FreeBSD.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217464 91177308-0d34-0410-b5e6-96231b3b80d8
Fix FreeBSD build after thread changes

More work on the GetName/SetName arguments (thread_t vs tid_t) is needed
but this change should restore the build and basic operation.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217502 91177308-0d34-0410-b5e6-96231b3b80d8
Merge upstream llvm.org r217502 into dev-llgs-local-launch
Move FreeBSD's thread SetName implementation to ThisThread

SetName is only used in LLDB to set a thead's own name.  Move it there
to match OS X and Windows and slightly reduce the effort in any future
HostThread/ThisThread name refactoring.


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

This change implements this ticket:
http://llvm.org/bugs/show_bug.cgi?id=20899

Adds the qThreadStopInfo RSP command for llgs and includes a test that
verifies both debugserver and llgs respond with something reasonable
on a multithreaded app.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217549 91177308-0d34-0410-b5e6-96231b3b80d8
Merge upstream llvm.org r217549 into dev-llgs-local-launch.