mac: The attachment broker waits for the port provider before brokering.

Previously, the attachment broker assumed that the port provider would have the
task port for the relevant processes. There is a race condition where a
message may need to be brokered before the port provider has received the task
port, which would cause attachment brokering failures. This CL creates
intermediaries in the attachment broker (AttachmentPrecursor,
AttachmentExtractor) which hold all the information necessary to broker an
attachment.

BUG=550938

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

Cr-Commit-Position: refs/heads/master@{#359167}
diff --git a/ipc/ipc_test_messages.h b/ipc/ipc_test_messages.h
index d1247cb..62af9137 100644
--- a/ipc/ipc_test_messages.h
+++ b/ipc/ipc_test_messages.h
@@ -31,4 +31,6 @@
                      base::SharedMemoryHandle,
                      base::FileDescriptor,
                      base::SharedMemoryHandle)
+IPC_MESSAGE_CONTROL1(TestSharedMemoryHandleMsg4, int)
+
 #endif  // defined(OS_MACOSX)