llgs: fix thread names broken by recent native thread changes.

* Fixes the local stack variable return pointer usage in NativeThreadLinux::GetName().
* Changes NativeThreadProtocol::GetName() to return a std::string.
* Adds a unit test to verify thread names don't regress in the future.  Currently only run on Linux since I know default thread names there.


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