Check for child_process.exec() error events & output the failure string

If the child_process.exec() call fails entirely (eg spawn ENOENT due to not having the command interpreter on the PATH), then the child_process 'exit' event is never fired [1] - so prior to this patch nothing would have been output and the command would appear to complete successfully.

With this patch the task correctly returns as failing and something similar to this output to the grunt error log:
```
>> child_process.exec() failed with: Error: spawn ENOENT
```

This should avoid the confusion seen in https://github.com/jharding/grunt-exec/issues/47

[1] https://github.com/joyent/node/blob/b19b60a05c30fa4108c37ddfcabb9313655af652/lib/child_process.js#L1043