Desync avoidance.

[ADDED]     Yield the context of errors in failedLoadingStoreWithCause:.
[UPDATED]   Documentation for error causes specify what the context will be.
[ADDED]     Desync avoidance: An iOS bug causes the cloud store to break irreparably when validation relationships are modified on two devices simultaneously.
            Desync avoidance avoids the issue from occurring by ensuring only one device can modify the cloud store at a time.
            The developer has a choice between different strategies that determine what to do when the device cannot obtain exclusive access (ie. another device has exclusive access).
[MOVED]     The current identity is now stored as state in the manager and not persisted in the user defaults.  There is no need to persist it any longer than the store is open for.