Fix signal forwarding issue

The issue is that we can't kill pid 1. By default, now dockerinit forkexec instead of exec. Resulting in the process started to be pid 2.

The previous behavior is still available via the '-fork' option of `docker run`.

Note that disabling fork will result in uninterruptible process.

I also noticed that this PR make some races within the test more obvious. I'll work on it, but it is a separate issue.