Added a managed object context save right before the persistent store is moved to ensure that all pending sync changes are committed to the store before it is moved.
Copy the local sync changes persistent store and then remove it. Also, don't stand up a new sync changes MOC right away since it will get lazily loaded as needed.
Added background task identifier properties to general TICDSOperation class and TICDSDocumentSyncManager class, along with methods to be run before and after each significant process starts up. The methods will force the app to continue running after the app has moved into the background. This will ensure all operations will complete post backgrounding, and is also book ends the synchronization process to ensure it's multiple operations all complete post-backgrounding.
Added methods to cancel any operations in the "Other Tasks" queues for both the ApplicationSyncManager and DocumentSyncManager. Also moved the assignment of property values during registration process to before the uploading of store to ensure that they are set before this operation is created.
Added a BOOL flag to both sync managers and general operation class that will indicate whether or not the class should be allowed to continue processing when the app goes into a background state. In addition to the flag, a new backgroundTaskID has been added which is used to by iOS to track each operation when it is running in the background. Whenever an operation is completed, we now assign this backgroundTaskID which lets the operation run in after the app goes to the background state. In addition, there are delegate statements added to the operation and sync manager classes that ask if a given operation should be allowed to run in the background state. If the delegate responds NO, then the operation is flagged as such. When the appDelegate indicates the app is going to the background, a method is run to review all queued TICDS operations to see if they are allowed to run in the background or not. if they are, then they continue. If they are not, then a cancel request is sent to the op. This allows the operations to be shut down more orderly than if the app just cuts them off after the 5 second background limit. It also gives the programmer an option to support certain apps in the background, while letting others be cancelled.
Merge pull request #41 from ChronicStim/feature/BackgroundStateProcessing

Allowing for Continued Operation Processing After App Enters Background State
Just a slight formatting change, nothing to see here.
Merge branch 'develop' of github.com:nothirst/TICoreDataSync into develop
Reworked the logic in endBackgroundTask to bail early if the backgroundTaskID is set to UIBackgroundTaskInvalid. This keeps the program logic left-aligned, making it easier to read.
Merge branch 'feature/BackgroundStateProcessing' into develop