Sigtstp 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.

This pull-request is based on the #743.