Implement some more options for posix_spawn
POSIX_SPAWN_CLOEXEC_DEFAULT is set to close all fds inherited by the new process except for those explicitly marked as inheritable (or those newly created by posix_spawn actions). We can replicate this by adding O_CLOEXEC to all open fds in the child before performing our actions (except special fds like commpage).
Other than that, some new actions have also been implemented: chdir, fchdir, and inherit. chdir and fchdir change the cwd of the child to the given path or fd. inherit ensures the given fd is inherited by the child (i.e. that O_CLOEXEC is not set on it).