The Server.Snapshot is called outside.
The library may know more than the application when to do snapshot. i have not thought through this yet.
I just create this function for testing, since i test the log compaction as a whole from raftd.