Callback invoked two times on error

Test case:

```js
var exec = require('exec');

exec(['nooooo'], function(err, out, code) {
	console.log('CALLBACK!', err, out, code);
});
```

Result:

```
❯ node t.js
CALLBACK! { [Error: spawn ENOENT] code: 'ENOENT', errno: 'ENOENT', syscall: 'spawn' } undefined undefined
CALLBACK! execvp(): No such file or directory
  -1
```