Safety Events unbind/stopListening

Hi,

`unbind` and `stopListening` are not safety.
Unbind all events if `name` or `obj` is `null`/`undefined` without intention.

```coffeescript
Object.stopListening(undefined); # unbind all events.
```

`F(undefined)` is not `F()`. This cannot be implementation assuming.


And fix `@listeningToOnce` cleanup.