readline: handle wide characters properly

Handle wide characters (such as あ, 谢, 고) as two column wide to make
cursor move properly.

Closes #555.
Closes #4994.
install: don't install man page twice

Looks like a merge conflict in 77ed12f left in the old, unconditional
install rule. Remove it, the new and improved rule is a few lines down.

Fixes #5044.
deps: upgrade libuv to b45a74f
doc: https: Fix the link to tls.connect
doc: fix typo in crypto docs
node: revert removal of MakeCallback

In 0168109 an implementation of MakeCallback was accidently removed. It
has been re-added.
tls: write pending data of opposite side

Fix stucked CryptoStream behaviour, happening when one of the sides
locks-up in queued state.

fix #5023
tls: write pending data of opposite side

Fix stucked CryptoStream behaviour, happening when one of the sides
locks-up in queued state.

fix #5023
doc: fix broken links in blog footer

The blog lives at blog.nodejs.org while the main website lives at
nodejs.org. Ergo, use absolute URLs for links to the main website.

Fixes #5062.
test: Misc Windows unit test fixes

Fixes #5071, #5073.

* Normalize capitalization of drive letter
* Fix `exit()` typo in failure path
* Ignore symlink tests (Windows) if not elevated

The `test_relative_input_cwd()` test was failing on Windows when
`skipSymlinks` was `true`. So we won't run it if `skipSymlinks` is
`true`.

When it failed, the unhandled error caused Node to die before
having a chance to clean up, which resulted in two files missing
in subsequent unit tests:

 * `test/fixtures/nested-index/one/hello.js`
 * `test/fixtures/nested-index/one/index.js`

We should probably find a way to isolate this test from the other
test (`simple/test-module-loading`) that was failing when this test
poluted the disk state.
Update .mailmap and AUTHORS
windows: enable watching signals with process.on('SIGXYZ')

This reverts commit ea1cba6246a8b1784e22d076139b9244a9ff42f8.

The offending commit was intended to land on the v0.8 branch only, but
it accidentally got merged at some point.

Closes #5054.
doc: fix streams2 SimpleProtocol example

A non-existing variable `b` was used to queue data for reading.
deps: update v8 to 3.17.13
v8: remove optimization switches

Remove compiler switches from $(TOPLEVEL)/deps/v8/build/common.gypi,
they are set globally in $(TOPLEVEL)/common.gypi.
bindings: update api

All compile time warnings about using deprecated APIs have been
suppressed by updating node's API. Though there are still many function
calls that can accept Isolate, and still need to be updated.

node_isolate had to be added as an extern variable in node.h and
node_object_wrap.h

Also a couple small fixes for Error handling.

Before v8 3.16.6 the error stack message was lazily written when it was
needed, which allowed you to change the message after instantiation.
Then the stack would be written with the new message the first time it
was accessed. Though that has changed. Now it creates the stack message
on instantiation. So setting a different message afterwards won't be
displayed.

This is not a complete fix for the problem. Getting error without any
message isn't very useful.
v8: loosen artificial mmap constraint

Fixes #4010.
v8: revert dtrace fix from 3.14 downgrade

Revert "v8: fix postmortem and dtrace helper build"

This reverts commit aa985392777dbe6159ce4ca56ae79d1039e43ec7.
dtrace: fix style in ustack helper
dtrace: x64 ustack helper