Fixes for popen progname, env, and other misc.
IO work continues.

* Reopen work and refactorign to support it.
* PosixShim class to make POSIX and NIO both look like POSIX.
* FilenoUtil class to handle fileno (real/fake) management.
* Myriad minor refactorings and cleanups.