title: CoreData (+ iCloud) produces invalid model state
body: <p>I'm using CoreData with iCloud to sync data between devices.</p>
  
  <p>After every iCloud import (observing <code>NSPersistentStoreDidImportUbiquitousContentChangesNotification</code>), I run a simple de-duplication algorithm to find and delete duplicated data.
  After saving the changes I see warnings in the console from CoreData that all properties and relationships of a specific entity instance (which was deleted by the de-dupe algorithm) are replaced with nil/0.</p>
  
  <pre><code>CoreData: warning: An NSManagedObjectContext delegate overrode fault handling behavior to silently delete the object with ID '0xd000000000040006 &lt;x-coredata://ADDDABCD-4891-4DCF-B55B-53AA64D11922/&lt;ENTITY_NAME&gt;/p1&gt;' and substitute nil/0 for all property values instead of throwing.
  </code></pre>
  
  <p>The problem is that one relationship in this entity is not-optional which produces errors the next time iCloud wants to import those changes on other devices.</p>
  
  <pre><code>-[_PFUbiquityRecordsImporter operation:failedWithError:](979): CoreData: Ubiquity:  Import operation encountered had trouble importing log file, Error Domain=NSCocoaErrorDomain Code=134302 "The operation couldn’t be completed. (Cocoa error 134302.)" 
  [...], an error occurred saving changes to the persistent store mutated during the import process. [...] 
  "The operation couldn’t be completed. (Cocoa error 1560.)"} User Info: { [...] 
  NSValidationErrorObject=&lt;NSManagedObject: 0x1742c7bd0&gt; (entity: &lt;ENTITY_NAME&gt;; [...] 
  {NSValidationErrorKey=&lt;NON-OPTIONAL_RELATIONSHIP_NAME&gt; [...] 
  "Error encountered while importing transaction log at URL: ...
  </code></pre>
  
  <p>How can I avoid that all properties are set to nil/0?</p>