buffer: fix regression in Buffer(buf) constructor

Commit 3a2f273b got the source and the target wrong when copying over
the data. Fix that and add a regression test.

Fixes #6111.
vm: remove unnecessary Persistent<FunctionTemplate>
vm: fix Persistent<Context> leak
uv: upgrade to v0.11.9
process_wrap: update after libuv api change

The `exit_code` argument for the `ProcessWrap::OnExit` callback changed
from int to int64_t.
domain: move error handling directly into instance

Instead of doing all the domain handling in core, allow the domain to
set an error handler that'll take care of it all. This way the domain
error handling can be abstracted enough for any user to use it.
uv: upgrade to v0.11.10
process_wrap: don't coerce process exit code to int32_t

On windows process exit codes can be greater than INT32_MAX. This used
to be not much of a problem - greater values would just come out
negative. However since ca9eb71 a negative result value indicates that
uv_spawn() has failed, so this is no longer acceptable.