Don't let invalid records prevent the MOC from being saved

I'm not sure what you think about this... but I frequently end up in a situation where somehow a single record becomes invalid in the Datastore (usually because a required foreign key constraint is missing) and then the entire ManagedObjectContext refuses to save, and the user ends up with a blank device instead of just a device without the invalid records.
This commit is designed to spot inserts of invalid records and remove them from the MOC before the save happens (they don't get deleted from the Datastore itself)