Obtain permanent NSManagedObjectIDs

I was running in to a bug where I was both inserting and updating a record before it was saved to the persistent store. The temporary IDs being used for prevention of merging changes in to the same child context that generated the change to begin with was failing, and the resulting merge-in was causing several NSFetchedResultsControllers to become inaccurate until performFetch: was called again.

These changes will attempt to ensure that any objectIDs being compared are permanent IDs, so that the comparison is accurate in this instance.
I think @jhollida24's point is that if he uses saveToPersistentStore:, the bug is avoided, so there would no longer be a point to the unit test.

The bug fix in general is for cases where code uses save: instead of the specialty method -saveToPersistentStore:, which gets permanent IDs ahead of time and thus avoids the issue.