callback with an error when no binary found, instead of crashing

Fixes a crash (exception: `Arguments to path.join must be strings`) when `package.json` has no `bin` field or when `bin` field does not contain the desired executable.