Fix logic around adding operations already in queue

If an operation was enqueued that was already in the queue, there was logic in place to detect if it was already in the queue and add any new handlers to the existing one, but then the operation could be added to the queue anyway.  This could trigger an exception in NSOperationQueue.