fix(server.go) fix that the server cannot be inited after loading snapshot.
We cannot use log.empty to check if the log has been loaded or not. After we load the snapshot, log.empty will be false but we has not loaded the previous log. We introduce log.initialized to indicate that we have loaded the previous log file.
test(snapshot) add tests for recovery from previous snapshot and log