* Reimplementd mypopen() family based on posix_spawn() instead of fork()
and execl().
The problem with fork() is that if the parent process has a large address
space then the fork() may fail due to insufficient free memory in the
system if memory overcommit is not enabled.
posix_spawn() does not call fork() and does not suffer from this problem.
It is also more portable than vfork() which is deprecated and clone()
which is linux only.
* Removed dead code