Post-rebase cleanup
Fix an assertion failure on linux

This might seem slightly silly, but this is the code from upstream where the
I/O init code is different, so I will use it like this to avoid future merge conflicts.
fix spawn with duplicate or overlapping file descriptors, and help more tests pass

Conflicts:
	test/test-spawn.c
Fix tests on Ubuntu
pipe: fix typo: s/WRITEABLE/WRITABLE/

Conflicts:
	src/unix/pipe.c
Use pipes instead of socketpair
fix compatibility with cygwin pipes: be more tolerant of the pipes connected. also, duplicate handles to ensure the original handle remains valid after uv_close (esp. important for stdio)
Building with NMake and Intel C++ Composer
drop support for old mingw compilers, fixes JuliaLang/julia#3279
fix windows (cross-)build issue
protect uv_spawn from signals (fix timholy/Profile.jl#16)
Add option to reset SIGPIPE in child process
Fix a bug where the stream would not close if no data was received
quasi-support for file handles as pipe objects on linux
uv_pipe_open shouldn't be setting READABLE and WRITABLE on pipes

this was incorrect for most pipes. julia's been patching this in uv_pipe_init for simpler api compatibility, which is at least less wrong. also, don't mark server sockets as readable or writable, since they aren't, and this confuses uv_shutdown
Remove DETACHED_PROCESS

What DETACHED_PROCESS does is to detach the child process from the current console disallowing the passing
of TTY handles. This seems incorrect and is inconsistent with Unix. If an application actually needs to
be detached, it can use FreeConsole itself.
add ./configure files