Suspend sub-processes when control-z is hit.

When control-z is hit the shell sends SIGTSTP to the front process group.
Generally it suspends all the process tree started by the command. But ninja
moves its sub-process to their own group so that it can stop them all on
interruption. This is a great improvement compared to make(1). However in such
a case sub-processes are not automatically suspended by the shell when you
hit control-z. Only ninja is and the command it has started keep running.
This patch addresses this issue by catching SIGTSTP and forwarding it to its
sub-processes groups. Thus, the entire ninja's process tree is suspended as
expected.

Thanks to Peter Collingbourne <peter@pcc.me.uk> for his help.