Use snapshot file for synchronization.
Merge pull request #137 from EasonLiao/snapshot

Use snapshot file for synchronization.
Modify transport to support snapshot file transfering.