Button event exec: Double fork to avoid zombies

When using the `exec:` button handler, processes will be forked, but are never reaped. So you will end up with a lot of zombie processes.

This fixes the problem by double forking and reaping the first child process, thus the `exec`d process is disowned and taken by the highest process in the namespace (usually `init`).

The other solution would be to periodically reap finished processes, but why do that when we can just let init handle it?