Refactored gdb remote protocol testing sequence handling.

Pushed gdbremote protocol sequence expectations into a separate
class and defer matching of llgs/debugserver output to the
sequence entry.  Pre-step to adding regex matching and
grouped content collecting.

No longer require anything before the read/send packet
portion of slurped-up log lines used for setting up
gdb remote test sequences.  Several packet logging options
produce a wide range of content before the read/send packet.

Added helpers to TestLldbGdbServer to clean up test setup
and test expectations matching.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@207998 91177308-0d34-0410-b5e6-96231b3b80d8
Add a simple qSupported packet, fix a bug in decode_binary_data(), 
add a new 'x' packet for reading data in binary format.  Document
the 'x' packet.  
<rdar://problem/16032150> 


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@208051 91177308-0d34-0410-b5e6-96231b3b80d8
Add GetxPacketSupported to test if the 'x' packet is supported.
<rdar://problem/16032150> 


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@208052 91177308-0d34-0410-b5e6-96231b3b80d8
Change ProcessGDBRemote::DoReadMemory to use the x packet to read
data if it is available.

Change ProcessGDBRemote's maximum read/write packet size from a
fixed 512 byte value to asking the remote gdb stub what its maximum
is, using up to 128kbyte sizes if that's allowed, and falling back
to 512 if the remote gdb stub doesn't advertise a max packet size.

Add a new "process plugin packet xfer-size" command that can be used
to override the maximum packet size (although not exceeding any packet
size maximum published by the remote gdb stub).
<rdar://problem/16032150> 


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@208058 91177308-0d34-0410-b5e6-96231b3b80d8
gdbremote testing: added regex support to match packets and propagate/test against previously stored matches.

Added a test validating that $qC after an inferior launch via $A
returns a thread id that an immediately followig $? reports for the
active thread. This is currently skipped on debugserver (the thread
ids don't match) and isn't yet implemented in TOT for llgs.


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