on disk snap

## goal: 
1. save snap to disk
2. load snap from disk
3. detect corruption

## non-goal: 
1. glue with etcd.
2. async snapshotting. 
3. on disk log compact.
4. buffering and performance.
Can you use the IEEE version method instead of creating the table? http://golang.org/pkg/hash/crc32/#ChecksumIEEE