src: accept passphrase when crypto signing with private key

Previous behaviour was to drop to an openssl prompt
("Enter PEM pass phrase:") when supplying a private key with a
passphrase. This change adds a fourth, optional, paramter that
will be used as the passphrase.
To include this parameter in a backwards compatible way it was
necessary to expose the previously undocumented (and unexposed)
feature of being able to explitly setting the output encoding.
src: Remove unused refs to node_object_wrap.h

Turns out that we don't use node_object_wrap.h any more in core,
and, with v8 3.21, it's breaking our Windows build. Removing refs
to it everywhere (and adding node.h in one case where it was the
only way node.h was being included), we have restored the Windows
build.
win: fix ObjectWrap for latest v8

We need to keep ObjectWrap around for module authors (we think), but
v8 3.21 broke node_object_wrap.h with respect to MSVC. Coincidentally,
we no longer use ObjectWrap at all in core, and native modules might
as well use their own entirely internal implementation if they need it.
doc: Update documentation to reflect ObjectWrap changes
node: don't share state with in_tick/last_threw

There was no need to share state between C++ and JS for these two
values. So they have been moved to their respective locations. This will
help performance only a tiny bit, but it does help code complexity much
more.
src: use function to get internal pointer

Remove the NODE_{WRAP,UNWRAP} macros and instead use template functions.
src: don't use WeakObject::Unwrap

Switch out to use UnwrapObject from util.h.
src: don't use class specific Unwrap methods

Instead use the template functions in util.h.
src: shorten Object{Wrap,Unwrap}

Going back to the original names of Wrap/Unwrap now that most all the
class members that duplicate the name and functionality have been
removed.
uv: Upgrade to v0.11.14
fs_event_wrap: update to new libuv api