Block to get sync status updates / SFSyncState instead of NSDictionary

What's left to do:
- SFSyncTarget, SFSyncOptions instead of NSDictionary
- Enums for query type / sync type and sync status instead of NSString
Minor nitpick/suggestion, but I tend to prefer to explicitly include header files for objects that are primarily used as supporting objects to the header file that's referencing them.  That way, the consumer doesn't need to keep track of multiple definitions in the import statements of their code.