Add support for execve(2)

Execute a program with an environment:

    Port = alcove_drv:start(),
    {ok, Child} = alcove:fork(Port),
    ok = alcove:execve(Port, [Child], "/usr/bin/env",
            ["/usr/bin/env"], ["FOO=bar", "BAR=1234567"]),

    <<"FOO=bar\nBAR=1234567\n">> = alcove:stdout(Port, [Child], 5000).

An empty list is treated as NULL.