dir() elides "." and ".." entries
ex_dir() internally uses DIR** instead of struct diriter
refactor implementation of ex_pipe()
pass fd instead of FILE* to spawn_param_redirect()
fix check_file to work with a negative index (luaL_checkudata does not)
refactor spawn.c interface; use spawn_params_init instead of spawn_params_default; spawm_param_execute() creates proc
ex_pipe needs to create FILE* userdata with the __close environment table