net: do not re-emit stream errors

fix #7015
stream: use `errorEmitted` from `_writableState`
Merge remote-tracking branch 'upstream/v0.10'

Conflicts:
	lib/_stream_writable.js
bindings: add spawn_sync bindings

This implements a nested event loop that makes it possible to control
a child process, while blocking the main loop until the process exits.
child_process: js bits for spawnSync/execSync

This implements the user-facing APIs that lets one run a child process
and block until it exits.

Logic shared with the async counterpart of each function was refactored
to enable code reuse.

Docs and tests are included.
http: remove path from Request options

Some 3rd request modules uses path property.  For instance:
https://github.com/mikeal/request/blob/master/request.js#L251

It did not matter in the Node 0.10. But in Node 0.11 it leads
to malfunction of the net core module. This is because the path
is considered as a pipe (v0.11.11-release/lib/net.js#L844).

It is not a bug. Although it is an eco-friendly way to get rid of a problem.