Make sure the database snapshot format is the same regardless of whether it is created from the Object or whether it is from a fetch snapshot.  Implement the recordToManySnapshots: method
white space change
Added stub for private method relationshipChangesForObject:withEditingContext: which is overridden in EOEntityClassDescription
Added private method relationshipChangesForObject:withEditingContext:  declared in EOControll but implemented here.  This method looks for to-one and to-many removes and adds and returns a dictionary that describes those changes.
Capture to-many snapshots when the fault is fired.
Implement method recordToManySnapshots:  Change DatabaseCibtext recordSnapshot so that it updates the snapshot instead of replacing it.  THis MAY not be correct.   more work is needed here.  at the moment snapshoting NEVER HAPPENS at the database context level so this is pretty much meaningless at this point.  Added private method _processRelationships to EOEditingContext which is called from processRecentChanges.  This makes sure that added and removed objects in to-many relationships are added to updated or deleted as needed.
Added comments, and missing inits for arrays in _processRelationships
Added non API method updatedRelationshipsForMember: which returns a dictionary that describes any to-many relationships that this object was or is now a member of and has changed.
Added non API method updatedRelationshipsForMember: which returns a dictionary that describes any to-many relationships that this object was or is now a member of and has changed.
Changed some comments, updated recordSnapshots: to call recordSnapshot so that we can insure the local store is a mutable dictionary
localSnapshotForGlobalID: now returns a NSMutableDictionary.  We really need this because the context snapshot MUST be mutable in order to update it as we investigate relationships.  This does not agree with the published API, but it is a minor difference.
Fairly large re-factor to acutally USE a context snapshot and BUILD that snapshot from the object graph.  Before this even though there was code for a local context snapshot, it was never actually used.  I also introduced an additional pass for the save.
EODatabaseOperation now actually USES newRow.  Before it would simply call [object snapshot] and create a new one anytime it wanted it.  Now newRow gets set, and EODatabaseOperation is no longer responsible for setting the attributes in newRow.  EODatabaseContext now does that.
A few things were added Here.  We now make a distinction between a undo snapshot and a database snapshot.  I added a method to convert an undo into a database snapshot.  There is also now a method that finds changes in to-many relationships and returns information on those changes in a NSDictionary.
contextSnapshotWithDBSnapshot:(NSDictionary *)dbsnapshot was added to return a database snapshot using EOEntityClassDescription
Added toManyUpdatedMembers dictionary which stores information on changes that occured in the to-many relationships.  This information is accessed by EODatabaseContext when it builds the newRow database snapshot.
Added an additional pass to the saveChanges where to-many relationships are examened and any added, removed members are added to the updated or deleted arrays. made sure the correct snapshots were being used in the right places.
Added stup methods that are overriden in EOAccess.  There is code here as well, but it should never really hit this code.
Added contextSnapshotWithDBSnapshot: so that a databaseSnapshot can be built from an object easily.  Only EODatabaseContext uses this method.
I decied that record snapshot did not really need to be quite so careful