addResults should only callback once

This will cause Node to crash because async throws an error [as shown
here](https://github.com/caolan/async/blob/master/lib/async.js#L22). Fix
is to use isaac's once module to make sure we only call `next` one time.