Increased file coordination timeout to 10 seconds in iCloud file system. Also improved the error generated when a timeout occurs, specialising it.
Added a Tools subdirectory, and included the cdeconvert tool. It converts the binary cdeevent files into a XML files on the desktop, for easy debugging.
Reverted Idiomatic to only use plain text, instead of attributed text. The attributed text is not cross platform compatible.
Any existing copies of Idiomatic need to be removed, and any cloud data deleted.
Got the cdeconvert tool working for Idiomatic. Had to add CDEPropertyChangeValue class, so it could expand data stored in the CDEObejctChanges.
Added path tilde expansion for the path passed in to cdeconvert.
Fixed a bug in the migration of events to file. By following the objectChanges relationship of the CDEGlobalIdentifier entity, migrations were bridging store events. So importing one event would actually cause other events to be exported too. Any event that shared any of the same objects would be pulled in.

Fixed this by explicitly excluding the objectChanges relationship from migration, so it won’t be followed.
Added a test to ensure that when migrating out an event with global ids shared with other events, only that one event is migrated. Previously, the global id was pulling in extra events.
Added an async task queue for leeching and deleeching. Cleans up the nesting.
Also changed CDEAsynchronousTaskQueue so that start always gets shunted to the main thread.
Added a serial operation queue in the CDEPersistentStoreEnsemble class. It is used to queue up leeching/merging/deleeching. The actual operations fun on the main thread, due to the shunting of the ‘start’ method to the main thread.
When deleeching, now cancel all existing operations.
Use the new operation queue for processing pending changes. Ensures that any existing operations go through first.
Implemented proper cancellation of merging, using the new operation queue.
Cleaned up the cancel method for merges.
Fixed a deadlock caused by the processPendingChanges… method.
Remove the identityToken KVO observer from the cloudFileSystem when daellocating, preventing a potential invalid-object access and squelching a run-time warning.
Merge pull request #80 from evands/fix-kvo-unregistration-on-dealloc

Remove the identityToken KVO observer from the cloudFileSystem on dealloc
Removed an empty line.
Added 64-bit compile flags for iOS. Now compiles for 64 and 32 bit.
Added better error handling for setting up the root directory in iCloud. Seems like sometimes iCloud has a user token, but returns nil for the container URL. Now handled gracefully with error, rather than exception.
Fixed the predicate on NSMetadataQuery for newer OSes

NSMetadataUbiquitousItemDownloadingStatusDownloaded is not an attribute
on NSMetadataItem, it is rather one of the three possible string
constant values of the NSMetadataUbiquitousItemDownloadingStatusKey,
and can therefore not be compared like the now deprecated
NSMetadataUbiquitousItemIsDownloadedKey attribute which used to return
an NSNumber object containing a Boolean.