domain: add arguments for the function in domain.run()

PR for https://github.com/joyent/node/issues/7193
There's no way to slice or otherwise manipulate `arguments` without doing it manually if you want to avoid deopts. The only function that it is ok to pass a naked `arguments` to is `Function.prototype.apply` as it is special cased. Bluebird uses a macro to make this more convenient, also see https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments for more info.