COObjectGraphContext: add lots of tests, clarify documentation, and fix implemtation to match, for the areas of change tracking, -discardAllChanges, -setItemGraph:, -addOrUpdateItems:, and COObjectGraphContextObjectsDidChangeNotification. The notification design is not exactly what we discussed but I think what I've implemented here is more elegant.

git-svn-id: http://svn.gna.org/svn/etoile/trunk/Etoile/Frameworks/CoreObject@10036 7b3f36aa-e6db-49c1-8b4c-66eac1997e64