[svn-r4019] Added a connection setup between the job launcher and the proxies in
case of an abnormal exit, so that the runaway processes can be cleaned up properly (based on the PID, instead of the executable name). Algorithm: Each proxy keeps track of the PIDs of the processes it launches and listens on a socket for incoming connections from the job launcher. If the exit is clean, this socket is not used at all. However, if the job launcher wants to kill the application (due to a timeout, or an abort by another process in the application), a connection is established on this socket and a message sent to the proxy to kill its corresponding processes. We only support one command right now (KILLALL). This should resolve ticket #447.