Compression of WholeStore file to improve transfer time between device & cloud (Resumbitted)

(Re-submitted Pull Request on the Develop branch)

Great tool guys! One of the issues that our app is facing is that our customers can often have big databases (20MB to 100MB or more) which create a problem when needing to upload or download a whole store file. So, we incorporated a zip compression option into the code that will compress the store after encryption and just before upload to the cloud and will decompress after download from the cloud and just before decryption during a whole store download process.

The option of whether or not to compress is set during the Application Sync Manager configuration method and is automatically carried through the Doc Sync Manager and operations. For now only the whole store movements are compressed as I doubt there is much benefit in compressing the sync change files themselves.

Also, we have only fully incorporated this feature into the Dropbox operating mode, but I see no reason it couldn't also be carried through to the FileSystem and iCloud modes too.

Anyway, I thought you might want to roll this feature into the base code. I'm sure others could benefit from it as well.