avoid altering the SIGCHLD handler before execve

Without this applications depending on being started with the SIG_DFL
beahvior breaks.

Likely the idea was to start the intent in parallel to the executed app
and to avoid the child getting confused when the intent process exited
(and also to avoid leaving a zombie around). But that breaks the
assumption application do on the default sigchld handler.

Doing waitpid to get rid of the zombie before executing the app is going
to fix it, no need to alter the sigchld handler anymore. This reduces
parallelism a bit but it's unlikely to be noticeable.

Change-Id: Ia07d42ec68a394e5c4113a4be65d995ed37099e0

Signed-off-by: Andrea Arcangeli <andrea@cpushare.com>