Domain module support

Added domain support to mongoose.

Almost every query uses either a Promise or utils.tick so both of those will bind the current process's domain to the callback, if the process has a domain. As far as I could tell, the only other places that needed it were mapReduce and aggregate.