Bootstrap Mojo IPC independent of Chrome IPC

This initializes Mojo IPC very early in child process
startup so we can start using cross-process pipes in
content without a dependency on Chrome IPC.

On all supported platforms, a new OS pipe handle is
passed through ChildProcessLauncher and hooked up to
the EDK on ChildThreadImpl startup to establish a
Mojo IPC channel to the parent.

A command-line argument is also to used to share a
unique pipe token with the child, and this token is
exchanged over the Mojo IPC channel to bootstrap a
primordial message pipe.

While this CL establishes these facilities in a way
that can be used for all child processes, only
render processes are brought up in this way for now.

BUG=583557
TEST=Chrome still runs in mash with Mus-in-renderer support.

Review URL: https://codereview.chromium.org/1685183004

Cr-Commit-Position: refs/heads/master@{#378272}
18 files changed