openssl: clean up openssl.gyp

Remove obsolete build configuration that escaped the purge in 7eaea7f.
net: allow socket end before connect

Fix a bug where calling .end() on a socket without calling .connect() first
throws a TypeError:

  TypeError: Cannot read property 'shutdown' of undefined
      at Socket.onSocketFinish (net.js:194:20)
      at Socket.EventEmitter.emit (events.js:91:17)
      at Socket.Writable.end (_stream_writable.js:281:10)
      at Socket.end (net.js:352:31)

Fixes #4463.
test: add regression test for #4463
util: fix deprecation message in `util.pump`
stream: fix event handler leak in readstream pipe and unpipe

After a stream was unpiped there would stil be residual event handlers
stream: do only fake drain when unpiped stream is the source

If the destination had multiply read streams piped to it,
they would all decrease the awaitDrain state and thereby
start the flow
doc: document the finish event

Since the stream implementer is not expected to overwrite
.end() the finish event is necessary in order to know when
no more data can be written
stream2: fix to emit end event on http.ClientResponse
repl: add 'domain' to automatic loading libs

`domain` should be a member of automatic loading libs in `repl`.

Conflicts:

	lib/repl.js
repl: remove 'repl' from automatic loading libs

In repl, calling `repl` twice shows the following message:
```
> repl
A different "repl" already exists globally
```
http: Handle end only when stream is not dumped

This fixes regression introduced in some cases by 8bf0c15
build: Add hyphen to custom build tags

so that ./configure --tag=foo makes a version number like v0.9.5-foo
instead of v0.9.5foo
http: remove unused variable

The module variable `END_OF_FILE` was no longer needed from 1d369317.
domain: speed up domain.create

Use `EventEmitter.call` instead of `EventEmitter.apply` because of performance.
stream: speed up instantiation of readable stream

- Stream.apply -> Stream.call
net: socket.readyState corrections

socket.readyState, .readable, and .writable behavior changed as
a result of the new streaming interfaces. Updated to be backwards
compatible with current API and adds regression test.

closes #4461
Colorize API stabilitity index headers in docs

Noted in @shtylman's #3898, API stability notes are easy to overlook
in the html documentation. This can be especially troublesome if the API
is deprecated. This commit gives visual feedback by adding in a class
to the html docs when they're generated. The API headers with
corresponding colors are also listed in the 'About this Documentation'
page for easy reference.
buffer: speed up base64 encoding by 20%

Remove a lot of branches from the inner loop. Speeds up buf.toString('base64')
by about 20%.

Before:

  $ time out/Release/node benchmark/buffer-base64-encode.js
  real    0m6.607s
  user    0m5.508s
  sys     0m1.088s

After:

  $ time out/Release/node benchmark/buffer-base64-encode.js
  real    0m5.520s
  user    0m4.520s
  sys     0m0.992s
https: optimize https.createConnection()

Stop using `arguments` for performance and readability.
fs: remove fs.sendfile()

Said function has been broken (and useless) since v0.6.0. Remove it altogether.

Fixes #3854.