on disk snapshot: work in progress

The simplest strategy is to `cut` a new log file when there is a new snapshot. 
If we want to do some fancy stuff like `falloc` a 10MB file and always do a `cut` when we reaches the limit, then `WAL` itself need to take control of this process.