Added snapshot code

WIP
I am missing a check here that the `snapshot2.txt` does not exist on a vm restored from snapshot 1.