Allow a Tor process to be ‘owned’ by a controller process
Currently, most Vidalia users allow Vidalia to start Tor with a new, randomly generated control port password, so if Vidalia crashes, Tor will keep running in the background, but nothing will be able to connect to its control port. This has (at least) two negative consequences: (a) when the user starts Vidalia again, Vidalia will be unable to start a new Tor instance because the old one is still listening on port 9051, and (b) on Windows, the only way to stop the orphaned Tor process without using the control port is equivalent to the Unix SIGKILL, which sucks if that Tor instance is running as a bridge or relay.
We should add a new OwningControllerPID option to Tor, to specify a process which Tor should try to not outlive, and a new TAKEOWNERSHIP control port command to specify that Tor should shut down if that control port connection closes.