Don't call jQuery.cleanData when beforeRemove callback is supplied

In order to make KO play nice with Isotope, I've had to modify it to not call jQuery.cleanData when a beforeRemove callback is supplied to the template binding. The reason being that I delete nodes via Isotope in beforeRemove, and Isotope relies on sorting state that it has set through jQuery.data. It's also counterintuitive that KO chooses to clean jQuery data for nodes while it delegates removal of the same nodes to beforeRemove.

In addition to modifying KO itself, I have updated a couple of Jasmine specs (in foreachBehaviors.js) to verify the new behaviour.

Thanks!