WIP: perform local Linux debugging with llgs.

* Adds PTRACE_TRACEME support on startup for POSIX platforms
except for Apple, which already handles via ::posix_spawn*.
Currently needs more work around stdio redirection and other
file actions.

* Disables choosing the ProcessLinux plugin when a specific
define is set.  The same define controls whether PlatformLinux
attempts to debug local processes.

Known issues:
llgs is called with --reverse-connect, which I have not yet implemented.
Merge upstream 214161 into dev-llgs-local
Merge upstream llvm.org r214236 into dev-llgs-local.
Add prctl PTRACE authorization for lldb-launched inferior.

Implements https://github.com/tfiala/lldb/issues/43.

A further change is needed.  I will need to setup a pipe-based
solution where the child reads from a pipe that lldb creates
before the fork, used for synchronization.  lldb writes a byte
to the pipe only after llgs attaches successfully to the process.

Also adds the [PATCH] content to lldb-commits@ from earlier today
that implements LLDB_DEBUGSERVER_EXTRA_ARG_* environment variable
support.
Added launch sync pipe to Linux/*BSD lldb-launched processes with eLaunchFlagDebug.

Part of https://github.com/tfiala/lldb/issues/45.

This implements the child read sync portion of the process startup.
Up next: write a byte to the pipe after llgs attaches.
Added code to propagate the launch sync pipe to ProcessGDBRemote's launch.

This code also is responsible for writing the launch sync byte (currenlty
the value is not important, but it is the process state reported by
the process after the attach).

There is likely some clean-up needed here - I was not seeing the log
lines I expected re: the sync pipe, possible it isn't getting propagated
correctly yet.
Merge upstream llvm.org r214291 into dev-llgs-local
Improved logging for lldb-launched exe for debugging.

* launch sync pipe log lines normalized.
* now display when child thread execs after sync, along
  with args and env content.
* now log on the success side of all the launch sync pipe operations.

Verified the sync pipe is working.  Now I need to address
llgs not handling the signaling around execs right (or something
similar).

Completes implementation of https://github.com/tfiala/lldb/issues/45.
llgs: add NativeProcessLinux support for stopping on exec.

Execs were effectively ignored and did not generate stop notifications
on Linux.  This change fixes that.

See https://github.com/tfiala/lldb/issues/47 for details.
Fix double call to the execution of the shell.

See https://github.com/tfiala/lldb/issues/46.
Work in progress check-in.

Modifies the behavior of:
https://github.com/tfiala/lldb/issues/49

We've gone from a core dump of llgs and an assert of lldb to
some kind of hang situation.  Need to investigate further.
Merge upstream llvm.org r215345 into dev-llgs-local
Merge upstream llvm.org r215488 into dev-llgs-local

Conflicts:
	source/Target/ProcessLaunchInfo.cpp
Added remote-build.py and wired it into Xcode for Linux and MacOSX+Linux builds.
Add logging around attach resume count handling.

For https://github.com/tfiala/lldb/issues/50.

Note this seems to have perturbed the behavior of resume waiting.
The first run with this added (and logged) did not hit the endless
wait for attach.
Add logging for Process::AttachCompletionHandler constructor.

Adds log line in constructor when `log enable lldb process` is set,
to list the number of execs that will be skipped (i.e. resumed through) upon
attach.  For llgs local, attach is the way it is done (lldb launched, llgs attached).

See https://github.com/tfiala/lldb/issues/50
Added more .gitignore items for xcode builds.
Merge upstream llvm.org r215608 into dev-llgs-local
Added eLaunchFlagDontSetExitStatus support for Linux/FreeBSD/NetBSD.

See https://github.com/tfiala/lldb/issues/50 for details.

Local llgs-based debugging will have lldb directly launch the inferior,
then launch llgs and have llgs attach to the inferior.  lldb should not
have a callback process responses.

(It really shouldn't process any wait() calls at all, I would think,
will look at that next).
disable monitoring of lldb-launched, llgs-attached local debugging on Linux/*BSD.

See https://github.com/tfiala/lldb/issues/50

This is a temporary change to allow Shawn to look at the race behind this
without the extra wait thread.

We may still need to do this, but need to look into zombie prevention.  Essentially
I think we should probably only be waiting on the child pid if llgs either fails
or detaches.  I need to read up on semantics of this in presence of ptrace by another
process.