Ensure `listenToOnce` is only called once.

It actually could be `cb`, but unregistering with either is [essentially equivalent](https://github.com/jashkenas/backbone/blob/master/backbone.js#L136-L137). `_.once` is necessary because `_.off` is [not destructive to the events map](https://github.com/jashkenas/backbone/blob/master/backbone.js#L145-L147).

```javascript
function cb() { console.log('callback'); }

obj.listenToOnce(obj, 'event', function() {
    obj.trigger('event');
    cb();
});
obj.listenToOnce(obj, 'event', cb);

obj.trigger('event') // "callback" logged three times
// triggerEvents has [event1, event2]
// -> trigger event 1
//   -> event1 is offed
//   -> 'event' is fired
//     -> triggerEvents has [event2]
//       -> trigger event 2
//         -> event1 is offed
// -> trigger event 2
```