Implement the framework for being able to abort requests through their parent Operation object.
Implement first pass of being able to abort requests from the Ajax proxy. Still needs a little work and unit tests though.
Change Operation to take care of setting Requests' success or error states, instead of leaving Proxies to do it. Operation relies on the proxy's resolution or rejection of its promise for this. Proxies now resolve their Promise with a ResultSet object instead of the Request object, and reject their Promise with an error object/string.

Also fix an issue with Model saving related models/collections, where its 'saveerror' event wouldn't be fired if a related model/collection failed to save/synchronize.

Clean up tests in ModelSpec as well to always use the ManualProxy for load/save/destroy tests, instead of a combination of a spied proxy and the ManualProxy.
Fully implement aborting requests with the Ajax proxy.
Remove the OperationPromise object (data.persistence.operation.Promise). Simply returning the Operation itself to clients when a persistence method (load, save, destroy) is called on Model/Collection.
Add a couple of integration tests to check that the underlying ajax requests are aborted when aborting the 'load' operation of a Model or Collection.