stream: do not leak `alloc_cb` buffers on error

Always pass previously allocated (if any) buffer, when calling
`read_cb()` on error.
win: fix buffer leak on error in pipe.c
Merge remote-tracking branch 'origin/v0.10'

Conflicts:
	src/win/pipe.c
build: freebsd link with libelf if dtrace enabled
build: fix SunOS and AIX build with autotools
build: removed unused and old option on AIX
android: add support of ifaddrs in android

Fixes https://github.com/joyent/node/issues/7291
unix, windows: removed unused status parameter

async, timer, prepare, idle and check handles don't need the status
parameter.
unix, windows: add IPv6 support to uv_udp_set_membership

Reworked from initial version by @snoj
osx: fix compilation warning

Remove leftover status argument uv_async_t callbacks
unix: fix handling uv__open_cloexec failure
test: fix multicast join test on OSX when using IPv6

When choosing an IPv6 interface all low level APIs use the interface
index which can be gathered with if_nametoindex. Passing a 0 means to
use the default as per the documentation. On OSX, however, this is not
the case and when 0 is specified it gives EADDRNOTAVAIL error. So, we
workaround the test, by using the 'lo0' interface on OSX, which has an
index of 1.
build, windows: fixed x64 configuration issue

Backported from master 8010bf9
build, windows: do not fail on Windows SDK Prompt

Backported from master 2f6d4b4
process: don't close stdio fds during spawn

This is needed when closed stdio fd is reused for uv_spawn pipe.
Fixes #1211
Merge branch 'v0.10'

Conflicts:
	src/unix/process.c
unix: fallback to blocking writes if reopening a tty fails

In case reopening the file descriptor fails, fallback to the old
behavior where we do blocking writes, to avoid disrupting other
processes potentially using the file descriptor.
unix, windows: add IPv6 support for uv_udp_multicast_interface
test: remove debug statement
windows: fix check in uv_tty_endgame()