Ignore npm-debug.log.
Fix event cancelation via `false`.

- Async callback better matches analogy between return value
  and continuation now. If an error occurs w/a sync listener,
  it is sent via `callback(err)`. If `false` is returned from
  a sync listener, it is equivalent to an async listener
  calling `callback(null, false)`, ie: the event will be
  canceled and the return value is `false` and the event emitter
  callback, if any, is called with `callback(null, false)`.
- The event emitter callback receives the value from the last
  listener that executed (which will be `false` if the event
  was canceled.