Remove the now-unused parser_t::job_create
Remove the close_old field from io_fd_t, which is never actually
respected - a bug dating back to fish 1.x! The fd that would be closed
is actually closed in io_cleanup_fds().
Simplify threading implementation. Removed iothread array. Threads now
run detached (no more pthread_join), and will not exit until they see
that all requests have been dequeued.
Reduce the iterations in the iothread test to something more reasonable.
Remove an unnecessary lock.
Merge branch 'master' into reaper_thread
This fixes the "runs out of threads" issue.

Conflicts:
	iothread.cpp
Remove a debugging statement (oops)
pthread_cond_timedwait returns the error directly, not through errno