test: use common.PORT in simple/test-net-GH-5504
src: don't call v8::Object::SetHiddenValue()

Don't use v8::Object::SetHiddenValue() to keep a reference alive to the
buffer, we can just as easily do that from JS land and it's a lot faster
to boot.

Because the buffer is now a visible property of the write request
object, it's essential that we do *not* log it - we'd be effectively
serializing the whole buffer to a pretty-printed string.
node: remove domain nextTick

It's ridiculously cheap to check if process.domain is set. Don't bother
cluttering the code.
domain: share object and state with native land

Change process.domain to use a getter/setter and access that property
via an array index. These are much faster to get from c++, and it can be
passed to _setupDomainUse and stored as a Persistent<Array>.

InDomain() and GetDomain() as trivial ways to access the domain
information in the native layer. Important because we'll be able to
quickly access if a domain is active. Instead of just whether the domain
module has been loaded.
build: don't auto-destroy existing configuration

Don't run configure when the configure script has been touched. Doing so
would be okay if the Makefile passed the original arguments to configure
but it doesn't - it runs configure without any arguments, effectively
destroying the current configuration.

Remove this misfeature and instead print an error message telling the
user to (re-)run configure.
 build: make ninja build respect V=

 Compiling with `make V=1` (which is the default) now runs ninja in
 verbose mode. To disable, run `make V=`.
configure: order configure switches alphabetically

Alphabetical order should make it easier to find the switches you need
because we've got quite a lot of them now.

Keep --prefix at the top because that's arguably the one people will be
looking for most.
build: fix up style issues in configure script

* Use single quotes consistently.
* Remove a few stray semicolons.
* Fix up some overly long lines.
* Line up a few expressions.
build: disable SSLv2 by default

No one in this day and age should be using SSLv2 so disable it by
default. You can re-enable it with `./configure --with-sslv2` but
there really should be no reason for that.
v8: upgrade v8 to 3.20.14.1
v8: fix openbsd build

This is [1] applied ahead of time. Summary:

    OpenBSD doesn't have <ucontext.h>. ucontext_t lives in <signal.h>
    and is a typedef for struct sigcontext. There is no uc_mcontext.

[1] https://codereview.chromium.org/21705003/

Note: the patch has been accepted upstream but hasn't made its way into
a stable release yet.
stream_wrap: use v8::Integer::NewFromUnsigned()

Use v8::Integer::NewFromUnsigned() when updating the writeQueueSize
field.

Before this commit, it used v8::Integer::New() but that takes an
int32_t. It's unlikely for a write queue to grow beyond 2**31-1 bytes
but let's use the unsigned integer constructor anyway, just in case.
test: fix up internet/test-dns after api change

* The test calls an internal API that changed in commit ca9eb71.

* Trying to reverse-lookup a bogus hostname now returns EINVAL rather
  than the (bogus!) status code ENOTIMP.