Fix llgs to send triple for non-Apple platforms and lldb to interpret correctly.

This change addresses this bug:
http://llvm.org/bugs/show_bug.cgi?id=20755

This change:
* Modifies llgs to send triple instead of cputype and cpusubtype when not on Apple platforms in qProcessInfo.
* Modifies lldb's GDBRemoteCommunicationClient to handle the triple returned from qProcessInfo if given.
  When given, it will prefer to use triple over cputype and cpusubtype.
* Adds gdb-remote protocol tests to verify that cputype and cpusubtype are specified on darwin, and that triple is specified on Linux.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@216470 91177308-0d34-0410-b5e6-96231b3b80d8
Added a couple more gdb-remote tests to ensure qProcessInfo on darwin is not defining triple.

And likewise for qProcessInfo on Linux, but ensures cputype/cpusubtype is not defined.  The
Apple case is the more important one, since we take a slightly different path to initialize
ProcessGDBRemote-related remote host/process info if triple is present.

Related to http://llvm.org/bugs/show_bug.cgi?id=20755.


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