tests: add events

Add exit(3) for testing.

Confirm events are delivered properly, for example, to the parent after
the child has exited.

The event extraction in alcove_drv is still messy, redundant and error
prone. Needs to be cleaned up.
Add optional notification of child exit status

Exit status is disabled by default and can be enabled per process by
using setopt.

    Port = alcove_drv:start([exit_status, termsig]),
    {ok, Child1} = alcove:fork(Port),
    {ok, Child2} = alcove:fork(Port),

    ok = alcove:exit(Port, [Child1], 1),
    {exit_status, 1} = alcove:event(Port, [Child1]),

    ok = alcove:kill(Port, [Child2], 9),
    {termsig, 9} = alcove:event(Port, [Child2]).

The exit status is spoofed so the event will appear to come from the
child. The parent will still receive SIGCHLD ({signal,17} on linux).