Adds the SnapshotTaskClient interface and implementation to storeclient. This simplifies the use of the various task calls needed for the SnapshotStorageProvider. Along the way many of the snapshot data classes needed a serialize or deserialize method, which is added here as well.