Register stopListening once instead of wrapping

I'm not sure how to best cleanup the `onces` map. Any ideas?

```javascript
var onces = name;
if (typeof onces !== 'object') {
    onces = {};
    onces[name] = callback;
}
for (event in onces) { ... }
```
I'm not using it for the context, but for the bound arguments (I originally had the third context parameter set to `this`). I can implement it with `_.partial`, but that'd be an extra `fn.apply`.

Without `_.bind`, the for-in loop prevents me from using a single function scope since `event` will change in a large events hash by the time the first event it triggered.

```javascript
for (event in onces) {
    obj.once(event, function() {
        // `event` will the last key in onces
        this.stopListening(obj, event, onces[event]);
    }, this);
}
```