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.
Commenting out the progress log statements to make the logs easier to review.
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.