Choose ports dynamically

ran grunt test.
I think that you can get rid of mapPromiseIdToArgsForCallback_ if you just pass data.argsForCallback to the fulfill function here.