Clean up Operation a bit with the use of the new OperationDeferred class.

OperationDeferred extends jQuery's Deferred interface to add an abort() method, and the ability to attach 'cancel' handlers. This frees up the Operation class from having to implement this functionality. This functionality can now be reused for an OperationBatch class in the future now as well.
Allow users to attach 'progress' handlers to Operation objects, to be notified of requests within the Operation being completed (currently undocumented in Model and Collection though).