title: operation.cancel() not cancelling current operation
body: <p>Using operation.cancel() does not cancel the current operation.  If there is an operation in the queue it seems to cancel it but if it isExecuting then it doesn't seem to stop it.</p>
  
  <p>Do i need to send something back to the main() function in my subclassed Operation to get it to stop?</p>
  
  <pre><code>for operation in downloadQueue.operations {
      if operation.name == opName {
          if operation.isExecuting == true {
             operation.cancel()
          }
      }
  }
  </code></pre>