Prevent memory leak by `stopListening` on Backbone.Model `destroy`

Models may frequently be listening to events in other models, collections, or global messaging objects. When Models were `destroy`ed they would still be listening to these events.

This fiddle demonstrates the behavior: http://jsfiddle.net/E3hDA/

While programmers certainly can do this action themselves on a "destroy" callback, it is both extremely easy to overlook and `destroy` semantically implies that references will be cleaned up as best as possible.