heap: fix `heap_remove()`

Remove should shuffle items in both directions, not just down. It is
required, because `max` node could be not the actual maximum value in
the tree.

fix #1267

Signed-off-by: Fedor Indutny <fedor@indutny.com>
windows: remove redundant code in uv_tcp_write

The overlapped structure is reset twice, it is non necessary.

Signed-off-by: Fedor Indutny <fedor@indutny.com>
unix, windows: define UV__INET/6_ADDRSTRLEN constants
unix, windows: fix parsing scoped IPv6 addresses

Signed-off-by: Saúl Ibarra Corretgé <saghul@gmail.com>