Support passing `argumentCount` denodeify

This lets you run code like:

```javascript
var stat = Promise.denodeify(fs.stat, 1);

var stats = Promise.all(['file1.txt', 'file2.txt',
'directory'].map(stat));
```

which would currently fail as the `callback` gets passed as the wrong
argument.
Merge pull request #24 from then/argument-count

Support passing `argumentCount` denodeify