windows: add support for UNC paths on uv_spawn
test: fix udp_multicast_interface6 on FreeBSD
test: skip UDP dualstack test on BSDs

As of right now Linux comes with bindv6only=0 by default but BSDs use
bindv6only=1. It can be changed systemwide with sysctl, but it's not
nice to depend on the environment for running tests, so disable it just
on BSDs.
test: fix spawn_reads_child_path when using autoconf

Don't hardcode the name of the executable, take it from the exepath.

Fixes #1407
windows: fix build on MinGW
unix: fix typedef of uv_buf_t

Typedefs of unnamed structs cannot be forward declared.
Giving the uv_buf_t struct a name makes forward declarations possible.
windows: replace use of inet_addr with uv_inet_pton

Fixes a compilation warning with Visual Studio 2013.
unix: replace some asserts with returning errors
windows: use OpenBSD implementation for uv_fs_mkdtemp
windows: fix GetNameInfoW error handling

GetNameInfoW return non-zero on error, and not vice versa.
fs: introduce uv_readdir_next() and report types

Introduce:

    int uv_fs_readdir_next(uv_fs_t* req, uv_dirent_t* ent);

`uv_fs_readdir()` is not returning a file names list in `req->ptr`
anymore, the proper way to gather them is to call `uv_fs_readdir_next()`
in a callback.