Creating a pexe content handler to translate and run pexes.

-Creates translator and linker applications, which launch the pexe
translator (pnacl-llc.nexe) and pexe loader (ld.nexe), passing a message
pipe handle.
-Updates IRT to include callbacks for pexe translator and pexe loader.
-Creates a content handler application, which contacts the translator
and loader services, communicating with them via message pipes. Uses a mojom
interface to pass a message pipe to each application.
-The translation process places a PEXE FILE into a temporary file, compiles
that pexe into a temporary OBJECT FILE, and finally links that object file
into a finalized temporary NEXE FILE. All file names are passed via message
pipes, and all files are unlinked after they are opened by the final service
which uses them.
-Adds some .pexe.mojo files to the nacl_nonsfi_apptests.

Test by running:
> ./mojo/tools/mojob.py build
> ./out/Debug/mojo_shell --enable-multiprocess ./out/Debug/shell_apptests.pexe.mojo

BUG=https://github.com/domokit/mojo/issues/396
R=mseaborn@chromium.org, phosek@chromium.org

Review URL: https://codereview.chromium.org/1382713002 .
diff --git a/mojo/public/mojo_application.gni b/mojo/public/mojo_application.gni
index 9b759c1..faf9d09 100644
--- a/mojo/public/mojo_application.gni
+++ b/mojo/public/mojo_application.gni
@@ -218,11 +218,11 @@
       if (current_cpu == "pnacl") {
         input_file_extension = ".pexe"
         output_file_extension = ".pexe.mojo"
-        content_handler = "pexe_content_handler"
+        content_handler = "content_handler_nonsfi_pexe"
       } else {
         input_file_extension = ".nexe"
         output_file_extension = "_${target_cpu}.nexe.mojo"
-        content_handler = "nacl_content_handler"
+        content_handler = "content_handler_sfi"
       }
       input_file = "${base_target_name}${input_file_extension}"
       output_file = "${base_target_name}${output_file_extension}"