multi-context wip
WIP: another impl of domain public api
WIP: src/node.js looks how it should
WIP: src/node.cc is looking like it should
WIP: src/req_wrap.h now sets domain and listner
WIP: lib/domain.js is looking pretty good
WIP: domain object doesn't have to be an object
WIP: move domain emit out of fatalException

Instead it checks if the domain has a callback on _errorHandler and will
call that passing the error. It expects a bool return that'll tell Node
that the error has been handled.
WIP: move error handling to domain.js

Now that fatalException calls the _errorHandler, all the error handling
logic can be moved into the domain module.

There's still an issue figuring out how this plays nicely w/
process._activeDomain. The point in this change was to allow users to
attach process.domain to given callbacks, and use the active domain as
the current domain used by the error handler. Otherwise it's not needed
since it's passed to the async listener on the spot.
WIP: remove check for domain in event emitter

No need to check if there's a domain on an unhandled event since the
call to _fatalException will already check for it.
WIP: propagate the active asyncListener
WIP: going to reapply everything

These commits are scattered everywhere. so i'm going to lay these in a
more logical order and rebase the branch.