uv: Upgrade to 5462dab
http: Do not setTimeout a not-yet-existent socket

Fixes #4967
http: ServerRequest does not timeout after 'end'

Fixes #4967
events: Handle missing error obj when domains in use

so `ee.emit('error')` doesn't throw when domains are active

create an empty error only when handled by a domain

test for when no error is provided to an error event
stream: Handle on('end') after emitting end

This solves the problem of calling `readable.pipe(writable)` after the
readable stream has already emitted 'end', as often is the case when
writing simple HTTP proxies.

The spirit of streams2 is that things will work properly, even if you
don't set them up right away on the first tick.

This approach breaks down, however, because pipe()ing from an ended
readable will just do nothing.  No more data will ever arrive, and the
writable will hang open forever never being ended.

Simple solution: End the writable if the readable has already been
ended, by calling on nextTick the same method that would have been
called when the readable ended.

However, that does not solve the case of adding a `on('end')` listener
after the stream has received the EOF chunk, if it was the first chunk
received (and thus, length was 0, and 'end' got emitted).  So, with
this, we defer the 'end' event emission until the read() function is
called.

Also, in pipe(), if the source is ended, we call the cleanup/onend
function on nextTick.  Piping from an already-ended stream is thus the
same as piping from a stream that is in the process of ending.

Fix #4942