Deprecate domains

ref https://github.com/iojs/io.js/issues/66

Also, I did notice that `domain.dispose()` is deprecated but missing a deprecation message. So it includes a commit which fixes it. Please inform me if you want it as a separate pull request.

I've also changed two test assertions. I belive usage of domain in `lib/repl.js` was swallowing the assert errors and that those are currently broken.
I would lean more towards using `process._fatalException` than `uncaughtException`, because the latter is built on the former anyway. I'm sure a decent top-level error handler could be built atop `_fatalException` alone, but, out of curiosity: why not just leave the domains code in the REPL for now? It works fine in the repl, the domains code will still be there for a while, and as far as I know, many people near to core are still committed to the idea of coming up with an improved async error-handling solution for Node in the not too distant future.