build: make gyp_uv understand '-f ninja'
unix: fix EMFILE busy loop

Don't spin in epoll_wait() / kevent() / port_getn() / etc. when we can't
accept() a new connection due to having reached the file descriptor limit.
Pass the error to the connection_cb and let the libuv user deal with it.
unix: code cleanup, rename variable
unix: put child process stdio fds in blocking mode

Remove the O_NONBLOCK flag from file descriptors 0-2, most applications don't
expect EAGAIN errors when dealing with stdio.
win/tty: reset background brightness when color is set to default
linux: improve /proc/cpuinfo parser

Make uv_cpu_info() understand the ARM and MIPS versions of /proc/cpuinfo,
it only knew how to deal with the x86 version

This commit also fixes a buglet where uv_cpu_info() reported the maximum CPU
frequency instead of the actual CPU frequency. That is, before this commit
`out/Debug/run-tests platform_output | grep speed | sort | uniq -c` on my
system always reported:

      8   speed: 3400

Now it reports (for example):

      2   speed: 3400
      6   speed: 1600

In other words, two CPUs are running at full speed while the others have been
scaled back because they're mostly idle.

This is a back-port of commit 54bfb66 from the master branch.

Fixes #526.
unix: map EDQUOT to UV_ENOSPC
windows: don't blow up when an invalid FD is used
windows: fix vcbuild.bat issue

gyp_uv was complaining because it never receives a value for which type
of library to build (static vs shared). This makes vcbuild.bat set the
default to build a static library.
include: remove uv_counters_t, missed in 837edf4
unix: close async pipe fds on loop delete
unix: move getaddrinfo code to getaddrinfo.c
doc: add lxjs talk to readme
test: add uv_fs_readlink test
test: fix error message in runner
test: add valgrind support

Run tests through valgrind when UV_USE_VALGRIND=1 is set in the environment.
test: delete default loop after test run

Delete the default event loop after the test completes. Keeps valgrind happy.
test: fix memory leak in tcp_ping_pong
linux: please valgrind, free memory at exit

Free the memory that is used to store the new argv and envp. It's not strictly
necessary (the OS is going to reclaim the memory anyway) but it makes the output
from valgrind a lot less noisy.
include: make ngx_queue macros sanitary