2013.03.07, Version 0.8.22 (Stable)

* npm: Update to 1.2.14

* cluster: propagate bind errors (Ben Noordhuis)

* crypto: don't assert when calling Cipher#final() twice (Ben Noordhuis)

* build, windows: disable SEH (Ben Noordhuis)
Merge branch 'v0.8.22-release' into v0.8
Now working on 0.8.23
blog: Post for v0.8.22
windows/msi: fix msi build issue with WiX 3.7/3.8

The `heat` tool that gathers NPM source files wasn't getting called.
Closes #4896
win/openssl: mark assembled object files as seh safe

There are no unsafe structured exception handlers in object files
generated from hand-crafted assembly - because they contain no exception
handlers at all.
Revert "build, windows: disable SEH"

This is no longer necessary - the underlying issue was fixed in 01fa5ee.
This reverts commit d87904286024f5ceb6a2d0d5f17e919c775830a0.
doc: Add wrk's license to LICENSE file
http: check if incoming parser has already been freed

Fix #4948

This adds a check before setting the incoming parser
to null. Under certain circumstances it'll already be set to
null by freeParser().

Otherwise this will cause node to crash as it tries to set
null on something that is already null.
Revert "http: check if incoming parser has already been freed"

This reverts commit 9f4c3b0d45f858d3d3021ef4b8edebf6005008ff.
buffer: strip high bits when converting to ascii

Consider the following example:

  console.log(Buffer('ú').toString('ascii'));

Before this commit, the contents of the buffer was used as-is and hence it
prints 'ú'.

Now, it prints 'C:'. Perhaps not much of an improvement but it conforms to what
the documentation says it does: strip off the high bits.

Fixes #4371.
buffer: speed up ascii character scanning

Speed up ASCII character scanning and conversion by 25% to 30% by scanning and
converting whole words instead of individual bytes.
domains: Handle errors thrown in nested error handlers

If a domain error handler throws, it should be caught if it was
in a stack of nested domains.

Fix #4953
zlib: Manage flush flags appropriately

If you call z.flush();z.write('foo'); then it would try to write 'foo'
before the flush was done, triggering an assertion in the zlib binding.

Closes #4950
test: Don't fail tls-session-cache if openssl is bad
test: Make stream2-transform less timing-dependent
core: Append filename properly in dlopen on windows

Fixes simple/test-module-loading on win32
test: Sending dgram sockets to child procs not supported on windows
test: Trim cat output for windows
test: Use copy instead of symlink in child-process-fork-exec-path