glue: after callback shouldn't run following throw
glue: don't assume this._handle exists in listen2

When wrapping the callback to a listener for a forked process, only wrap
the onconnection callback when the handle it should be attached to is
present. When the listen call fails, there will be no handle, which will
cause the wrapping code to throw in an unexpected way. Fixes #2.
release: 0.2.2 - bug fixes and Trevor's new docs
glue: improved error handling

The core error tests were passing mostly because the removeAsyncListener
function was never getting called after the synchronous crash, thus
ensuring that every thing after it was also being run with that
asyncListener active. It turns out that getting the tests to pass after
dealing with that required porting over a bunch of ideas from Trevor's
patch, with the upshot that the error handling is now much more robust,
at the cost of there being some spooky action at a distance around how
the data gets put where the error handler can see it.

Brought over Trevor's latest tests from #6011 as well.
release: 0.3.0 - major rewrite of error handler
glue: save the listeners on a stack

Also document the whole thing so maybe more people can understand what
it's doing.
glue: ensure nested async calls have listeners set

Even if there are no callbacks on an asyncListener, the polyfill must
create a closure so that when the wrapped callback gets called, the
listeners that were active before the asynchronous call are activated
inside the callback. In the case when no listeners are active when
the wrapped function is called, don't wrap the callback so the active
listeners won't get overwritten when the callback is called.
test: can't add the same asyncListener twice

This means that the test results for the test with two async listeners
wasn't doing what it said it was.
test: removed tests that don't apply to polyfill
glue: set union of closure global listeners

That way, code gets the listeners that were set to currently be active,
as well as any listeners that were active when the closure was created.
Includes a pretty highly-tuned function to compute the set union.
release: 0.4.0 - fixed nested async calls
test: tests shouldn't barf on 0.8.x
glue: error-handling rewrite for 0.8 and earlier

It turns out that process.on('uncaughtException') does not behave the
way I thought it did in my fevered imaginings, and a more conservative /
slower approach is required to get the correct behavior. Tests don't
change, just run them under Node 0.8.x.
glue: error handling requires better context setup

Also imported a metric tonne of tests from Jacob's pull request and ran
against node 0.8.20. The tests are mostly passing, with the exception of
a discrepancy in core-asynclistener.simple.js, which is off by two.
release: 0.4.1 - reworked error listeners for 0.8.x
docs: typo
deps: updated shimmer
release: 0.4.2 - updated shimmer
code: polyfill in _normalizeConnectArags

Node < 0.8.4 doesn't have this function, and the Socket instrumentation
relies upon it. This polyfilled polyfill is @isaacs's fault.
docs: added badge