Added gdb-remote expedited register dupe check.

The llgs branch had a bug where register sets were not terminated with
LLDB_INVALID_REGNUM so the expedite register loop was issuing duplicate
registers.  This test was added to catch the problem.

Enhanced the key-val collection method to optionally (and by default)
support capturing duplicate values for a given key.  When that happens
and if permitted, it promotes a single key to a list and appends values
to it.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@210963 91177308-0d34-0410-b5e6-96231b3b80d8
Properly terminated POSIX register sets with LLDB_INVALID_REGNUM.

RegisterSets are assumed to be terminated by this value.  Loops over
register set values would fail without LLDB_INVALID_REGNUM terminating
the list.  This change adjusts the static check to account for the
size of the register set regnum list being one larger than the expected
valid register set count.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@210964 91177308-0d34-0410-b5e6-96231b3b80d8
Merge upstream llvm.org r210964 into dev-tfiala-native-protocol-linux-x86_64

Conflicts:
	test/tools/lldb-gdbserver/TestGdbRemoteExpeditedRegisters.py