Add arbitrary command line flags to llgs/debugserver startup for local debugging.

This patch accepts environment variables of the form:
LLDB_DEBUGSERVER_EXTRA_ARG_n

where n starts with 1, and may continue nearly indefinitely (up through std::numeric_limits<uint32_t>::max()).

The code loops around, starting with 1, until it doesn't find one of the environment variables.  For each one it does find defined, it appends the environment variable's contents to the end of the debugserver/llgs startup command line issued when the stub is started for local debugging.

I am using this to add arbitrary startup commands to the llgs command line for turning on additional logging.  For example:

export LLDB_DEBUGSERVER_EXTRA_ARG_1="-c"
export LLDB_DEBUGSERVER_EXTRA_ARG_2="log enable -f /tmp/llgs_packets.log gdb-remote packets"
export LLDB_DEBUGSERVER_EXTRA_ARG_3="-c"
export LLDB_DEBUGSERVER_EXTRA_ARG_4="log enable -f /tmp/llgs_process.log lldb process"


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@216745 91177308-0d34-0410-b5e6-96231b3b80d8
Allow "breakpoint command add" to add commands to more than one breakpoint at a time.

<rdar://problem/13314462>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@216747 91177308-0d34-0410-b5e6-96231b3b80d8
Consolidate UnixSignals setting/getting in Process.

See http://reviews.llvm.org/D5108 for details.

This change does the following:

* eliminates the Process::GetUnixSignals() virtual method and replaces with a fixed getter.
* replaces the Process UnixSignals storage with a shared pointer.
* adds a Process constructor variant that can be passed the UnixSignalsSP. When the constructor without the UnixSignalsSP is specified, the Host's default UnixSignals is used.
* adds a host-specific version of GetUnixSignals() that is used when we need the host's appropriate UnixSignals variant.
* replaces GetUnixSignals() overrides in PlatformElfCore, ProcessGDBRemote, ProcessFreeBSD and ProcessLinux with code that appropriately sets the Process::UnixSignals for the process.

This change also enables some future patches that will enable llgs to be used for local Linux debugging.


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

This was the big push of UnixSignals from this branch upstream, coming
back down into the branch.

Conflicts:
	include/lldb/Host/Host.h
	include/lldb/Target/Process.h
	include/lldb/lldb-private-forward.h
	source/Host/common/Host.cpp
	source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
	source/Plugins/Process/FreeBSD/ProcessFreeBSD.h
	source/Plugins/Process/Linux/ProcessLinux.cpp
	source/Plugins/Process/elf-core/ProcessElfCore.cpp
	source/Plugins/Process/elf-core/ProcessElfCore.h
	source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
	source/Plugins/Process/gdb-remote/ProcessGDBRemote.h