Cleanup event listeners on destroy

When a Model is destroyed, it may still be listening to events.
We should `stopListening` to those events to prevent memory leaks.
allow Model#save with patch: true to take different attrs. Fixes #3232
test for attributes set on the model correctly in patch save
Merge pull request #3236 from akre54/save-and-patch-diff-attrs

Allow Model#save with patch: true to take different attrs
Merge pull request #3222 from emorikawa/master

Prevent memory leak by `stopListening` on Backbone.Model `destroy`
Update JavaScript toJSON API documentation URL

The previous link to MDN had rotted, this seems to be the closest correct URL.
Merge pull request #3258 from NotBobTheBuilder/master

Update JavaScript toJSON API documentation URL
Allow MDN to select an appropriate localization
Merge pull request #3259 from megawac/patch-1

Allow MDN to select an appropriate localization [ci-skip]