tls: write pending data of opposite side

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

fix #5023
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.
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
dtrace: Make D style more D-ish
dtrace: More style

Continuation lines should be indented with 4 spaces, not a tab.
dtrace: fix generation of v8 constants on freebsd

Every constant is certainly 4 bytes now, but freebsd's objdump utility
prints out odd byte sequences (5-bytes, 6-bytes and even 9-bytes long)
for v8's data section. We can safely ignore all upper bytes, because all
constants that we're using are just `int`s. Since on all supported
platforms `int` is 32bit long (and anyway v8's constants are 32bit too),
we ignore all higher bits if they were read.
docs: show how to use Isolate

Part of the 3.17 update is to pass the isolate as an argument. The addon
docs have been updated with this usage.
src: pass Isolate to all applicable api

Update the api to pass node_isolate to all supported methods.

Much thanks to Ben Noordhuis and his work in 51f6e6a.
test: fix up weakref.cc after v8 api change
src: bump NODE_MODULE_VERSION after abi change
v8: unbreak build on smartos after 831af97df211f04
Merge remote-tracking branch 'upstream/master'