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) { ... }
```
We would have to juggle the arguments to `listenToOnce`... I don't think it'll save much.

```javascript
function listenToOnce(obj, name, callback) {
    return this._listenToOnce(name, callback, obj);
}

function _listenToOnce(name, callback, obj) {
    if (!eventsApi(this, '_listenToOnce', name, [callback, obj])) return this;
    var once = _.partial(this.stopListening, obj, name, callback);
    once._callback = callback;
    this.listenTo(obj, name, callback);
    this.listenTo(obj, name, once);
    return this;
}
```