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.
All the domain code is still in the REPL. I've just changed it to only use domains if the user provides one (which is possible, but undocumented). It does not fallback to calling `domain.create()` which trigger the deprecation warning.