child_process: properly support optional args

Currently, a TypeError is incorrectly thrown if the second argument is
an object. This commit allows the args argument to be properly omitted.

Fixes: https://github.com/joyent/node/issues/6068
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
doc: document _transform callback takes 2 args

Expands the paragraph in the transform stream
implementation docs about the callback that is passed
to the _transform method to include details about how
two arguments may be passed, error and data.  A code
example is also included.

Reviewed-By: Fedor Indutny <fedor@indutny.com>
hdr: always define NODE_WANT_INTERNALS

Otherwise the warning could be printed on some systems.

fix #8419
http: don't unset hot path for responses with body

Revert a regression introduced when avoiding extra bytes for HEAD
requests, we shouldn't drop out of the hot path when responses will have
a body.

partially reverts 1fddc1f
http: handle trailing chunked encoding bytes

http requests should not emit an error when the response stream
encounters extra trailing bytes from a stream when transfer-encoding is
chunked.

Emits 'chunkedRemainingBytes' event to response object in this scenario,
if there is no listener for backwards compatibility reasons emits a
parse error on the request object
test: check for multi-localhost support
doc: build branch versioned docs
doc: update design to match nodejs.org