Replace internal unit testing infrastructure with CUnit.
Fix potential NULL envp to execvpe on OOM.
Remove unnecessary environ copying and extension.

Once we're the child we can freely update our environ. Not sure why I thought I
needed to go through this process of copying the existing environ.