Adding support for determining process exit status and handling start failures.
Adding tests for MessagingClient to deal with duplicate messages.
Converting ProcessLauncher to use MessageTransport and MessagingClient.