include: use x macros for uv_any_{handle,req} unions

Generate the members of the uv_any_handle and uv_any_req unions with
the UV_HANDLE_TYPE_MAP and UV_REQ_TYPE_MAP macros. Eases maintenance
when new handle or request types are added.
unix, windows: nanosecond resolution for uv_fs_[fl]stat

Closes #739.
Merge remote-tracking branch 'origin/v0.10'
Merge remote-tracking branch 'origin/v0.10'
unix: getaddrinfo_cb status arg should be 0 or -1

The documentation in uv.h states that the status argument to the
uv_getaddrinfo() callback is either 0 or -1 but uv-unix actually
passed it the addrinfo error code. Rectify that and add a regression
test.

Fixes #754.
unix, windows: remove ngx-queue.h

Avoids an extra #include in public headers and stops the ngx_queue_*
types and macros from leaking into user code.
Merge remote-tracking branch 'origin/v0.10'
include: remove UV_VERSION_* macros

Superseded by uv_version() and uv_version_string().
src: bump version to 0.11.1-pre
sunos: fix syntax error introduced in 76d831e4

Moving around the code for #754 inadvertently introduced a syntax error
in a SunOS-only code path.

The syntax error didn't actually manifest at build time because
the #elif it was wrapped in was, alas, wrong as well.
Merge remote-tracking branch 'origin/v0.10'
build: make `make clean` remove test/runner.o
doc: add link to Visual Studio Express in README
unix: remove superfluous check in stream.c
include: updated uv_udp_open documentation

On Unix, uv_udp_open can be used with any socket as long as the socket
follows the datagram contract (works in unconnected mode, supports
sendmsg()/recvmsg(), etc.). This means that any datagram-socket, like
for example netlink or raw sockets, can be used with libuv. Added this
information to the documentation.
Merge remote-tracking branch 'origin/v0.10'
unix, win: add netmask to uv_interface_address

Include the netmask when returning information about the OS network
interfaces.

This commit provides implementations for windows and those unix
platforms using getifaddrs().

AIX was not implemented because it requires the use of ioctls and I do
not have an AIX development/test environment.  The windows code was
developed using mingw on winxp as I do not have access to visual studio.

Tested on darwin (ipv4/ipv6) and winxp (ipv4 only).  Needs testing on
newer windows using ipv6 and other unix platforms.
unix: style fixups
windows: simplify netmask detection in uv_interface_addresses
Merge branch 'v0.10'